2010-05-22 49 views
21

做了一個新的項目,增加的main.cpp和寫的代碼在這個網址:致命錯誤LNK1104:無法打開文件 'libboost_system-VC90-MT-GD-1_43.lib'

http://www.boost.org/doc/libs/1_43_0/doc/html/boost_asio/example/echo/async_tcp_echo_server.cpp

而且,添加了適當的包含路徑。

接下來是什麼?!?!!建立一個boost代碼似乎是個謎!

在它上面挖了10個多小時。

任何人都可以給出一個簡單的答案,如何從Windows,VC9下的代碼構建boost庫?

回答

18

您需要使用bjam。它負責創建您的應用程序將使用的庫。一旦你使用bjam,你將需要指示你的項目包含lib文件。您可以通過進入項目的屬性 - >配置屬性 - >鏈接器 - >常規來完成此操作。將創建lib文件的目錄添加到其他庫目錄。之後你應該能夠正確鏈接。 我認爲this link描述的步驟比我可以嘗試的後更好

+0

我只需要添加C:\ Boost \ x86 \ lib添加到上面提到的其他庫目錄 – Brent 2011-06-14 01:21:25

+4

的1.5 \ stage \ lib應該被添加。 – 2012-07-16 21:07:10

9

並非所有的Boost庫都只是頭,Boost.System就是其中之一。 Boost.Asio的documentation告訴你它依賴於Boost.System。

使用Visual Studio,Boost庫使用auto-linking,這意味着您不必顯式鏈接到所需的庫。然而,您需要在庫搜索路徑中具有必要的庫,無論是全局還是每個項目。

如果您不想自己構建Boost庫,那麼可以使用boostpro提供的installers(儘管目前只支持Boost 1.42)。如果你想自己構建它們,那麼documentation就可以覆蓋。

16

@bogertron:我想擁抱你! (:

所以,最後,一個真正的頭痛,我已經成功地做到這一點

我拿了,所以別人會從頭部疼痛保存的具體步驟:

  1. 走到http://www.boost.org/doc/libs/1_43_0/more/getting_started/windows.html#or-build-binaries-from-source

  2. 遵循 「5.3.1獲取的bjam」 條款下載了 「預建的bjam可執行文件的平臺」 在此URL:。http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=72941

  3. 提取ZIP文件(我的平臺是Windows)。

  4. 冉「build.bat」。它產生了文件「bin.ntx86/bjam.exe」。

  5. 將此文件複製到我的路徑(「...../boost_1_43_0 /」)。

  6. 從命令行執行「bjam.exe」並等待大約4-5分鐘。

然後在控制檯得到這個消息:「Boost C++庫成功構建!」

就是這樣,它甚至可以告訴你包含的文件是什麼,包括&。

0

在Visual Studio中,您的項目上單擊右鍵,然後轉到屬性,然後選擇:

屬性 - >配置屬性 - >鏈接

有你添加的完整路徑的名爲「其他庫目錄」的選項卡中的庫。

-1

現在用boost_1.50的Boost.build包含在壓縮文件:檢查tools\build\v2\或更好的讀取:...boost_1_50_0/more/getting_started/windows.html

0

從「助推入門路線」:

「5.2或者簡化構建From Source

如果您希望使用Visual C++從源代碼構建,可以使用本節中描述的簡單構建過程打開命令提示符並將當前目錄更改爲Boost根目錄,然後鍵入以下命令:

引導程序 。\ b2「

在Windows上,我從開始菜單打開了Visual Studio命令行。首先我輸入「bootstrap」,然後輸入「。\ b2」。

1

我有同樣的錯誤,我跟着SourceForge。該鏈接將帶你到一個文件夾的壓縮lib和dll文件的版本的boost.You可以下載和解壓縮相關的圖書館,當它複製到相關的位置一切都會好起來的)

相關問題