2014-03-04 28 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