提升LNK2019错误

时间:2013-03-06 20:32:37

标签: c++ boost bjam

我使用'5.3.4 Invoke b2'阅读boost documentation,然后使用论坛帖子解释了将boost库链接到header and linker directories的详细信息,在boost help'4.1 Build中从Visual Studio IDE中,找到了这个很酷的提升相关wiki,解释了bjam.exe controls

#include <boost/thread/thread.hpp>放在main.cpp

并且,我收到此链接器错误,并且现有的帮助线程已经确定问题是x64:

错误:

error LNK2019: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ) referenced in function "void __cdecl boost::system::`dynamic initializer for 'posix_category''(void)" (??__Eposix_category@system@boost@@YAXXZ)  main.obj

error LNK2019: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ) referenced in function "void __cdecl boost::system::`dynamic initializer for 'native_ecat''(void)" (??__Enative_ecat@system@boost@@YAXXZ)  main.obj

它们相似,有关'posix_category'的内容,有关'native_ecat'

的内容

所以,我尝试构建x64 boost库,并找到了关于放置这些库的相互矛盾的说明:

另外,我尝试将vs2008配置更改回x32 - &gt; solutionExplorer / solution_properties / configuration_manager / active_solution_platform - Win32,关闭并重新打开visual studio - 将其他目录C / C ++ / general和Linker / general重新链接到Boost / root和Boost / stage / lib - 它编译时没有错误。

我对b2命令的最佳猜测是--toolset=msvc-9.0 address-model=64 --build-type=complete --stagedir=lib\x64 stage

请简要说明如何在VS2008上构建和安装x64版本的boost。另外,wiki谈论发布和调试的内容是什么 - 它们不在Boost invocation

1 个答案:

答案 0 :(得分:-3)

使用c ++ 11

它或多或少包含了我想要使用的boost的所有功能,也编译了g ++而没有弄清楚如何在我的大学服务器上构建boost库然后引用到远程g ++构建 - 几乎用它来解决所有问题