Это относится к ошибке, предположительно исправленной пару версий назад.
рал свою буст-библиотеку с помощью bjam, а затем переместил все.a
файлы вc:\Server\libs\boost_1_46_0\lib
если я хочу скомпилировать свою программу, возникает ошибка:
команда компиляции
g++ -Ic:\Server\libs\boost_1_46_0\ -Lc:\Server\libs\boost_1_46_0\lib\ -lboost_thread-mgw45-mt-1_46 -o try1 try1.cpp
ошибки
C:\Users\FEHERG~1\AppData\Local\Temp\ccB46To7.o:try1.cpp:(.text+0xe9): undefined
reference to `_imp___ZN5boost6thread4joinEv'
C:\Users\FEHERG~1\AppData\Local\Temp\ccB46To7.o:try1.cpp:(.text+0x120): undefine
d reference to `_imp___ZN5boost6threadD1Ev'
C:\Users\FEHERG~1\AppData\Local\Temp\ccB46To7.o:try1.cpp:(.text+0x138): undefine
d reference to `_imp___ZN5boost6threadD1Ev'
C:\Users\FEHERG~1\AppData\Local\Temp\ccB46To7.o:try1.cpp:(.text$_ZN5boost11this_
thread18interruptible_waitEm[boost::this_thread::interruptible_wait(unsigned lon
g)]+0x40): undefined reference to `_imp___ZN5boost11this_thread18interruptible_w
aitEPvNS_6detail7timeoutE'
C:\Users\FEHERG~1\AppData\Local\Temp\ccB46To7.o:try1.cpp:(.text$_ZN5boost6thread
C1IPFvvEEET_NS_10disable_ifINS_14is_convertibleIRS4_NS_6detail13thread_move_tIS4
_EEEEPNS0_5dummyEE4typeE[boost::thread::thread<void (*)()>(void (*)(), boost::di
sable_if<boost::is_convertible<void (*&)(), boost::detail::thread_move_t<void (*
)()> >, boost::thread::dummy*>::type)]+0x23): undefined reference to `_imp___ZN5
boost6thread12start_threadEv'
collect2: ld returned 1 exit status
кто-нибудь может мне помочь в чем проблема в этой проблеме?
я следовал этому уроку: http://antonym.org/2009/05/threading-with-boost---part-i-creating-threads.html
так что это источник:http://pastebin.com/YqCPLNwU
ОБНОВИТЬ:
Я думаю, что ошибка не выстилает библиотеку, ошибка в библиотеке. я построил это с BJAM сtoolchain=gcc multithread
параметры.
ОБНОВИТЬ
вот objdumphttp://pastebin.com/4fpqYb7d
ОБНОВИТЬ
я обнаружил, что проблема в том, что компоновщик хочет связать с динамическим связыванием или что-то вроде этого.
Проблемы с блоками кода, MinGW, Boost и статическими ссылками
там "Джек Келли" говорит, что мне нужно добавить#define BOOST_THREAD_USE_LIB
в начале моего исходного файла. но это не помогает мне. как я могу связать библиотеку статически? (-static
тоже не помогло)