我通過使用'5.3.4 Invoke b2'閱讀了boost documentation,然後在論壇主題中解釋了將boost庫鏈接到header and linker directories的詳細信息,在助推幫助「4.1從Visual Studio IDE構建',並發現這個很酷的助推器相關wiki,解釋bjam.exe controls。boost LNK2019錯誤
放置#include <boost/thread/thread.hpp>
在main.cpp中
而且,我得到這個連接錯誤,以及現有的幫助主題已經確定問題是使用x64:
錯誤:
error LNK2019: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" ([email protected]@[email protected]@[email protected]@XZ) referenced in function "void __cdecl boost::system::`dynamic initializer for 'posix_category''(void)" ([email protected]@[email protected]@YAXXZ) main.obj
error LNK2019: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" ([email protected]@[email protected]@[email protected]@XZ) referenced in function "void __cdecl boost::system::`dynamic initializer for 'native_ecat''(void)" ([email protected]@[email protected]@YAXXZ) main.obj
它們是相似的,一些關於'posix_category'
和一些關於'native_ecat'
所以,我試圖建立的64 Boost庫,發現就在哪裏把這些矛盾的指示:
- 沒說"Note for x64 users: Add the address-model=64 option to bjam (after the threading argument) in order to build static libs with the 64-bit compiler."
- 不能找到鏈接,但有人說將x64 lib放在vs2008 bin中?
另外,我試圖改變VS2008配置恢復到X32 - > solutionExplorer/solution_properties/configuration_manager/active_solution_platform - Win32中,關閉並重新打開視覺工作室 - 重新鏈接的其他目錄C/C++ /一般和鏈接器/一般到升壓/ root和Boost/stage/lib - 並且編譯時沒有錯誤。
我最擅長的是B2命令的猜測是--toolset=msvc-9.0 address-model=64 --build-type=complete --stagedir=lib\x64 stage
請給如何構建和安裝增壓版本的x64 VS2008上簡潔的說明。另外,維基在討論什麼是發佈和調試 - 他們不在Boost invocation?
您使用安裝說明中的5.3而不是「5.2簡化構建源代碼」的任何原因? – us2012 2013-03-06 20:37:41
@ us2012沒什麼特別的 - 我看到了,但不知道它是什麼,它以「5.1安裝Visual Studio Binaries」開頭,並討論了不再生產安裝的「BoostPro Computing」,所以我可能跳過它並去了爲什麼看起來像最幫助的線程我讀了關於bjam.exe - 足夠公平... – 2013-03-06 20:55:21
我不是說它會解決你的問題,但由於它是完全自動化和超易用的,我建議你在最少嘗試一下。 – us2012 2013-03-06 20:56:36