【发布时间】:2014-12-22 14:08:27
【问题描述】:
我正在尝试链接到 Visual Studio 2013 中的几个 boost 库(需要编译的库),但在这样做时遇到了麻烦。
我已经通过命令行运行安装了 boost 文件
boostrap.bat
和
b2 --toolset=msvc-12.0 --build-type=complete architecture=x86 address-model=64 stage
以便库位于 C:\boost_1_56_0/stage/lib
在我的项目中,我进入配置属性>c/c++>General>其他包含目录并包含 C:\boost_1_56_0 并包含标题,例如
#include<boost/serialization/vector.hpp> 等等
然后我转到配置属性>链接器>附加库依赖项并包括 C:\boost_1_56_0\stage\lib
我现在知道 boost 使用自动链接,所以我确保没有尝试在配置属性>链接器>输入>附加依赖项中将链接定向到 boost 库
但是我仍然收到(许多)以下类型的链接器错误:
error LNK2001: unresolved external symbol "public: void __thiscall boost::archive::detail::basic_oarchive::end_preamble(void)" (?end_preamble@basic_oarchive@detail@archive@boost@@QAEXXZ)
我发现的所有相关问题都与对 boost 的自动链接工具的误解有关,但我现在正在明确地做我应该做的事情(据我所知)。它可以找到头文件,并且库文件是我指导链接器查找它们的地方。
我可能做错了什么?
【问题讨论】:
-
您是否尝试过预处理文件选项并检查 .i 文件以查看生成的内容?
标签: c++ visual-studio boost linker