我刚刚开始第一次使用Boost,详细信息:
- 我使用的是 Visual Studio 2008 SP1
- 我正在进行 x64 构建
- 我仅使用 boost::asio (以及它具有的任何依赖项)
我的代码现在可以编译,我将我的项目指向 boost 库(在构建 x64 库之后)并解决了简单的问题,现在我面临链接器错误:
2>BaseWebServer.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::get_system_category(void)" (?get_system_category@system@boost@@YAAEBVerror_category@12@XZ)
2>BaseWebServer.obj : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::get_generic_category(void)" (?get_generic_category@system@boost@@YAAEBVerror_category@12@XZ)
有任何想法吗?
我添加了这个定义:#define BOOST_LIB_DIAGNOSTIC
现在在我的输出中我看到了这个:
1>Linking to lib file: libboost_system-vc90-mt-1_38.lib
1>Linking to lib file: libboost_date_time-vc90-mt-1_38.lib
1>Linking to lib file: libboost_regex-vc90-mt-1_38.lib
这似乎表明它实际上是在系统库中链接的。
我解决了这个问题。当我打算构建 64 位库时,我已经构建了 32 位库。我修复了构建语句并构建了 64 位库,现在它可以工作了。
这是我的 bjam 命令行:
C:\Program Files (x86)\boost\boost_1_38>bjam --build-dir=c:\boost --build-type=complete --toolset=msvc-9.0 address-model=64 architecture=x86 --with-system
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)