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