g ++ и ошибка компоновщика повышения после обновления

Я получаю следующие проблемы. Я уверен, что это - пакет, который не был, устанавливают/обновляют правильно, я не уверен который:

$ make
g++ -I/usr/include/boost -MM ./YYY.cc ./main.cc ./myClass.cc > buildfiles.d
g++ -Wno-deprecated -Wall -ansi -O2 -I/usr/include/boost   -c -o YYY.o YYY.cc
g++ -Wno-deprecated -Wall -ansi -O2 -I/usr/include/boost   -c -o main.o main.cc
g++ -Wno-deprecated -Wall -ansi -O2 -I/usr/include/boost   -c -o myClass.o myClass.cc
g++ -o prog -Wno-deprecated -Wall -ansi -O2 -I/usr/include/boost -L/usr/lib -lstdc++ -lboost_program_options -lboost_thread ./YYY.o ./main.o ./myClass.o
./YYY.o: In function `void boost::call_once<void (*)()>(boost::once_flag&, void (*)())':
YYY.cc:(.text._ZN5boost9call_onceIPFvvEEEvRNS_9once_flagET_[void boost::call_once<void (*)()>(boost::once_flag&, void (*)())]+0x14): undefined reference to `boost::detail::get_once_per_thread_epoch()'
YYY.cc:(.text._ZN5boost9call_onceIPFvvEEEvRNS_9once_flagET_[void boost::call_once<void (*)()>(boost::once_flag&, void (*)())]+0x2c): undefined reference to `boost::detail::once_epoch_mutex'
YYY.cc:(.text._ZN5boost9call_onceIPFvvEEEvRNS_9once_flagET_[void boost::call_once<void (*)()>(boost::once_flag&, void (*)())]+0x62): undefined reference to `boost::detail::once_epoch_mutex'
YYY.cc:(.text._ZN5boost9call_onceIPFvvEEEvRNS_9once_flagET_[void boost::call_once<void (*)()>(boost::once_flag&, void (*)())]+0x67): undefined reference to `boost::detail::once_epoch_cv'
YYY.cc:(.text._ZN5boost9call_onceIPFvvEEEvRNS_9once_flagET_[void boost::call_once<void (*)()>(boost::once_flag&, void (*)())]+0x95): undefined reference to `boost::detail::once_epoch_mutex'
[...]

Просто вершина быть ясными, заголовки установлены и включены в.h файлы.

1
задан 14 October 2011 в 16:26

1 ответ

Решение заключалось в изменении порядка связывания, согласно man-странице. Дело в том, что раньше он хорошо работал со старой версией g ++ ...

$ make
g++ -I/usr/include/boost -MM ./YYY.cc ./main.cc ./myClass.cc > buildfiles.d
g++ -ansi -O2 -Wall -I/usr/include/boost   -c -o main.o main.cc
g++ -ansi -O2 -Wall -I/usr/include/boost   -c -o myClass.o myClass.cc
g++ -o prog -ansi -O2 -Wall -I/usr/include/boost  ./YYY.o ./main.o ./myClass.o -lstdc++ -L/usr/lib -lboost_program_options -lboost_thread 
0
ответ дан 14 October 2011 в 16:26

Другие вопросы по тегам:

Похожие вопросы: