2011-03-04 34 views
0

我有以下代碼:爲什麼我在C++中使用Boost Filesystem獲得鏈接器錯誤?

#include <boost\filesystem.hpp> 

int main() 
{ 

    return 0; 
} 

但是當我嘗試編譯它,我得到下面的連接錯誤:

fatal error LNK1104: cannot open file 'libboost_filesystem-vc100-mt-gd-1_46.lib':

我怎樣才能解決這個問題?

+0

有沒有可能將錯誤信息翻譯成英語? 'LC_MESSAGES = C make ...'應該做到這一點。 – sarnold 2011-03-04 12:16:22

+0

tx to translate.google.com:「無法打開文件」 – Ralf 2011-03-04 12:18:53

回答

2

Boost使用自動鏈接,所以通過包含文件系統頭文件,它會自動嘗試找到相應的lib文件。

確保boost lib目錄(lib文件所在的位置)位於visual studio/project庫路徑中。

+0

我下載了http://sourceforge.net/projects/boost/files/boost/1.46.0/但沒有lib文件... – Marco 2011-03-04 12:27:34

+0

@Marco See http://www.boost.org/doc/libs/1_46_0/more/getting_started/windows.html#prepare-to-use-a-boost-library-binary – KitsuneYMG 2011-03-04 12:41:54

+1

如果你從sourceforge下載你需要建立boost庫。或者,在Windows上,您可以從http://www.boostpro.com下載安裝程序,不利的一面是您需要註冊(這很快),而且有時候是一個或兩個版本。如果您使用安裝程序,則可以指定應該下載並安裝哪些版本的boost庫。 – Ralf 2011-03-04 14:02:44

1

谷歌翻譯:「無法打開文件」

我懷疑你沒有提供提振庫的庫路徑:

項目屬性 - >鏈接器 - >常規 - >附加庫目錄

0

我只是跟着從升壓的部位以下說明:

從Visual Studio中的文件菜單,選擇New> Project ...

在生成的「新建項目」對話框的左側窗格中,選擇「Visual C++」>「Win32」。

在右側窗格中,選擇Win32 Console Application(VS8.0)或Win32 Console Project(VS7.1)。

在名稱字段中輸入「示例」

右鍵單擊在解決方案資源管理器窗格例子,從出現的彈出式菜單中選擇屬性

在配置屬性> C/C++>常規>附加包含目錄,輸入路徑Boost的根目錄下,例如

C:\ Program Files文件\提升\ boost_1_46_0

在配置屬性> C/C++>預編譯頭,使用變化PRECOM (/ Yu)未使用預編譯頭。3

用上面的示例代碼替換由IDE生成的example.cpp的內容。

從生成菜單中選擇生成解決方案。

相關問題