2013-03-06 106 views
1

我通過使用'5.3.4 Invoke b2'閱讀了boost documentation,然後在論壇主題中解釋了將boost庫鏈接到header and linker directories的詳細信息,在助推幫助「4.1從Visual Studio IDE構建',並發現這個很酷的助推器相關wiki,解釋bjam.exe controlsboost 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庫,發現就在哪裏把這些矛盾的指示:

另外,我試圖改變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

+0

您使用安裝說明中的5.3而不是「5.2簡化構建源代碼」的任何原因? – us2012 2013-03-06 20:37:41

+0

@ us2012沒什麼特別的 - 我看到了,但不知道它是什麼,它以「5.1安裝Visual Studio Binaries」開頭,並討論了不再生產安裝的「BoostPro Computing」,所以我可能跳過它並去了爲什麼看起來像最幫助的線程我讀了關於bjam.exe - 足夠公平... – 2013-03-06 20:55:21

+0

我不是說它會解決你的問題,但由於它是完全自動化和超易用的,我建議你在最少嘗試一下。 – us2012 2013-03-06 20:56:36

回答

-3

使用C++ 11

它或多或少包括增強的所有功能,我想用,也彙集在G ++沒有搞清楚如何構建我的大學服務器上的升壓庫,然後引用到遠程G ++構建 - 幾乎可以解決所有問題

+0

C++ 11標準庫不是完全替代Boost。此外,大多數Boost庫都只有頭文件,並且不需要你預先編譯任何東西,那些不太依賴於其他庫的人,所以你可以複製他們的源代碼並用適當的編譯方式編譯它們工具,請參閱https://github.com/filmor/webos-pdf。 – filmor 2013-03-22 11:43:06

+0

我正在使用boost :: thread,並且在兩天後無法弄清楚如何在g ++構建中獲得庫 - 即使我做了6.4版的RedHat-C++ 11也有bug。我對同樣情況下的任何其他人的建議是使用C++ 11.此外,你的鏈接不會涉及任何內容。 – 2013-03-22 16:31:08

+0

您能否詳細說明紅帽中的錯誤?此外,這個問題顯然是關於Windows的,所以這是一個完全不同的情況。我給出的鏈接轉到我的一個項目中,在該項目中集成了Boost.Thread庫,可以添加4個源文件(請參閱https://github.com/filmor/webos-pdf/tree/master/boost_thread )。 – filmor 2013-04-02 10:45:46