Gå til innhold

Får ikke linket med boost_thread


Anbefalte innlegg

Så har jeg enda et linkingsspørsmål: Prøver å linke et program med boost::thread-biblioteket (libboost_thread), men selv om jeg gir g++ direktivet -lboost_thread får jeg beskjed om udefinerte referanser (direktivet gjør faktisk ingen forskjell). Prøvde å lage et minimalt testprogram (kun en fil) og det linket med boost_thread uten problemer i det hele tatt.

Makefilen ser sånn ut:


CC=g++

CFLAGS=-ggdb

LDFLAGS=-lboost_thread -lpthread -L/home/sub/Libs/alsa/lib -lasound 



alsatest: alsatest.o

$(CC) $(LDFLAGS) -o alsatest SmallObj.o alsatest.o 



alsatest.o: smallobj.o

$(CC) $(CFLAGS) alsatest.cpp -c



smallobj.o:

$(CC) $(CFLAGS) /usr/include/loki/SmallObj.cpp -c

clean:

rm -f *.o alsatest

Kanskje ikke den meste profesjonelt utseende makefil, men det virker korrekt på meg?

g++ svarer med dette:


alsatest.o(.gnu.linkonce.t._ZN4Alsa6Stream5startEv+0x10f): In function `Alsa::Stream::start()':

/home/sub/projects/alsa/stream.h:167: undefined reference to `boost::thread::thread[in-charge](boost::function0<void, boost::empty_function_policy, boost::empty_function_mixin, std::allocator<boost::function_base> > const&)'

alsatest.o(.gnu.linkonce.t._ZN4Alsa6Stream5startEv+0x11a): In function `Alsa::Stream::start()':

/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.2/include/g++-v3/bits/stl_vector.h:903: undefined reference to `boost::thread::~thread [in-charge]()'

collect2: ld returned 1 exit status

make: *** [alsatest] Error 1

Noen som kan se hva som går galt??

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...