Boost 链接器错误:无法解析的外部符号“class boost::system::error_category const & __cdecl boost::system::get_system_category(void)”

2023-12-26

我刚刚开始第一次使用Boost,详细信息:

  1. 我使用的是 Visual Studio 2008 SP1
  2. 我正在进行 x64 构建
  3. 我仅使用 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(使用前将#替换为@)

Boost 链接器错误:无法解析的外部符号“class boost::system::error_category const & __cdecl boost::system::get_system_category(void)” 的相关文章

随机推荐