Posted By: medvidek (Zase za polarnim kruhem) on 'CZprogram'
Title:     Co zas delam blbe? (linux, gcc a linkovani)
Date:      Tue Dec 11 10:55:58 2001

   Mam problem.

Mam pokusny projekt skladajici se z: 
nthread.cpp - TRIDA zabalujici thready
myfn.cpp - jedna dummy funkce, abych mel vic fajlu :)
main.cpp - main() s testem threadu

tenhle zpusob kompilace a linkovani projde:
g++ -xc++ -I../../include -c -o nthread.o nthread.cpp
g++ -xc++ -c -o myfn.o myfn.cpp
g++ -xc++ -I../../include -c -o main.o main.cpp
g++ -s -lpthread nthread.o myfn.o main.o 
dostanu a.out, ktery dokonce i funguje

ja chci ale udelat z nthread.cpp a myfn.cpp statickou knihovnu a to se mi 
nedari.
g++ -xc++ -I../../include -c -o nthread.o nthread.cpp
g++ -xc++ -c -o myfn.o myfn.cpp
rm mylib.a
ar -q mylib.a nthread.o myfn.o
g++ -xc++ -I../../include -c -o main.o main.cpp
g++ -s -lpthread mylib.a main.o

Dostanu tyhle chyby (kopiruju jen cast)
main.o: In function `MyThread1::run(void)':
main.o(.text+0x1a): undefined reference to `myfn(void)'
main.o: In function `main':
main.o(.text+0x4f): undefined reference to `Thread::Start(void)'
atd.

Co delam blbe? Asi je to nejaka trivialita. Diky



                 medvidek

--
         ELVIRA - Extended LSD VoiceXML interpreter for Applications
                       http://www.fi.muni.cz/lsd/elvira
  Engine for building dialog applications        Free for noncommercial use

Search the boards