2014-10-27 100 views
5

我想在Visual Studio 2013中链接到几个提升库(需要编译的库),并且遇到麻烦。链接到视觉工作室2013提升

我已经通过命令行安装乳宁升压文件

boostrap.bat 

b2 --toolset=msvc-12.0 --build-type=complete architecture=x86 address-model=64 stage 

使类库在C:\ boost_1_56_0 /台/ lib目录

在我的项目中,我进入配置属性> c/C++>常规>其他包含目录,并包含C:\ boost_1_56_0并包含使用的标头,例如 等等

我然后去配置属性>连接>附加依赖库和包括C:\ boost_1_56_0 \台\ lib中

我现在意识到,提升使用自动连接,所以我保证,有没有尝试在配置属性指挥链接到Boost库>连接>输入>附加依赖

但是我仍然得到以下类型的(多)链接错误:

error LNK2001: unresolved external symbol "public: void __thiscall boost::archive::detail::basic_oarchive::end_preamble(void)" ([email protected][email protected]@[email protected]@@QAEXXZ) 

所有的R我发现有些问题是我对boost的自动链接设施的误解,但我现在正在明确地做我应该做的事情(尽我所能理解)。它是找到头文件好了,库文件是我指导链接器寻找它们的地方。

我会做什么错?

+0

您是否尝试过预处理文件选项并检查.i文件以查看生成的内容? – BlueTrin 2014-10-27 14:22:25

回答

0

我只是遇到类似的问题,并与你分享我的想法。 您可能正在编译32位和64位库以提升。因此,我猜你可能有两个目录,其中包含具有相同名称但内置于不同平台的库,如$(BOOST154_NEW_HOME)\ lib_x64和$(BOOST154_NEW_HOME)\ lib_x86。您应该在您的配置属性>链接器>附加库依赖项中包含这两个路径。尽管boost使用auto_link来找出你想使用的lib,但它仍然困惑于需要导入32位或64位以下的lib。

我的建议是你应该只在你的配置属性>链接器>附加库依赖项中包含64位boost libs目录。

+0

我们可以添加一个完整的目录吗?我认为我们应该只添加.lib文件 – Sashank 2017-03-14 12:43:40