2014-03-04 32 views
1

當我將boost/log頭文件包含到源文件中時,出現鏈接錯誤。無法使用boost.log構建應用程序

錯誤5錯誤LNK2019:無法解析的外部符號 「類 的boost ::系統:: error_category常量& __cdecl 的boost ::系統:: system_category(無效)」 (system_category @系統@升壓@@ YAAEBVerror_category? @ 12 @ XZ)在函數「void __cdecl boost :: system ::`動態初始化器中爲 ' \ Documents \ Visual Studio 2013 \ Projects \ MyFilter \ MyFilter \ MyFilter.obj MyFilter

所以似乎有問題,我沒有鏈接系統庫。不過,我設置鏈接庫包含路徑來包含boost庫。 該文件是

libboost_system-VC120-MT-1_55.lib

,並在d:\程序文件(x86)\ boost_1_55_0 \臺\ LIB - 所以,應該工作。

那麼,爲什麼Visual Studio不將它鏈接到應用程序呢?或者實際上有幾個boost系統庫文件它應該編譯?

+0

你加路徑_Additional圖書館Directories_?庫的版本是否正確? x86到x86項目? – hofmeister

+0

是的,我做到了。當我僅使用日誌庫的trivial.hpp文件時,我實際上可以構建應用程序。但其他人不工作,因爲他們依賴於系統庫lib – Luke

+0

也是正確的版本?你使用什麼目標?任何CPU? – hofmeister

回答

1

就像我們在評論中討論的那樣。驗證boost庫的版本(x86和x64),你是visual studio項目,這些版本應該是平等的。

以下是編譯提升的命令:

86:

b2 --toolset=msvc-10.0 --build-type=complete stage 

64:

b2 --toolset=msvc-10.0 --build-type=complete architecture=x86 address-model=64 stage