【发布时间】:2015-04-29 17:58:07
【问题描述】:
我想在 x86 Windows 7 上构建我的程序,它使用了 boost 库。在阅读了以下post 之后,我尝试构建 boost 并在调试模式下编译我的程序。 Visual Studio 2010 中的输出对话框抛出以下错误:
error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAABVerror_category@12@XZ)
...
我使用以下构建命令来构建 boost:
bjam --build-dir=c:\boost --build-type=complete --toolset=msvc-10.0 address-model=64 architecture=x86 -j 4 注意:命令 --with-system 对我不起作用。
我的项目设置是:Project->Properties->C/C++->General->Additional Include Directories: D:\boost\boost_1_57_0;%(AdditionalIncludeDirectories) 和 Project->Properties->Linker->General->Additional Library Directories: D:\boost\boost_1_57_0\stage\lib
如何解决未解决的外部符号错误?
【问题讨论】:
-
你检查过
D:\boost\boost_1_57_0\stage\lib目录下库文件是否存在吗?您应该会看到类似于libboost_system-vc100-mt-gd-1_57.lib/dll的内容 -
是的,这个文件是可用的...你有其他想法吗?
-
自动链接可能有问题。尝试将链接器设置为详细模式(显示进度选项)并查看它试图链接到哪些库。
-
@Praetorian 我已经清理了我的项目并包含了每个单独的库。主要问题是 asio 库。我将尝试将链接器设置为详细模式并给您回复。
标签: c++ visual-studio-2010 boost