当我将boost / log标头包含在源文件中时,我收到链接错误。
错误5错误LNK2019:未解析的外部符号“类 boost :: system :: error_category const& __cdecl 提高::系统:: system_category(无效)” (?system_category @ system @ boost @@ YAAEBVerror_category @ 12 @ XZ)引用 在函数“void __cdecl boost :: system ::`动态初始化器中 'native_ecat''(无效)” (?? __ Enative_ecat @ system @ boost @@ YAXXZ)C:\ Users \ lukas \ Documents \ Visual Studio 2013 \ Projects \ MyFilter \ MyFilter \ MyFilter.obj MyFilter
所以我似乎没有链接系统库的问题。但是我设置链接库包含路径以包含boost库。 该文件是
libboost_system-VC120-MT-1_55.lib
并位于D:\ Program Files(x86)\ boost_1_55_0 \ stage \ lib中 - 因此应该可以正常工作。
那么Visual Studio为什么不将它链接到应用程序?或者实际上有几个boost系统的lib文件应该已经编译了吗?
答案 0 :(得分:1)
就像我们在评论中讨论过的那样。验证boost库的版本(x86和x64),你是visual studio项目,那些版本应该是相同的。
以下是编译boost的命令:
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