C ++ boost nuget无法打开文件Visual Studio 2015
Posted
技术标签:
【中文标题】C ++ boost nuget无法打开文件Visual Studio 2015【英文标题】:C++ boost nuget cannot open file Visual Studio 2015 【发布时间】:2017-12-02 16:32:13 【问题描述】:我正在制作一个 C++ 项目(对 C++ 来说非常新),它需要所谓的“boost”库。我想我可以添加一个金块来让我的生活更轻松......(添加了#include <boost\date_time.hpp>
)但现在我收到了这个错误
错误 LNK1104 无法打开文件 'libboost_date_time-vc141-mt-gd-1_65_1.lib'
有什么问题?
【问题讨论】:
你知道,由于荒谬的磁盘空间要求,我从来没有让它工作过。 【参考方案1】:错误 LNK1104 无法打开文件 'libboost_date_time-vc141-mt-gd-1_65_1.lib'
根据错误,您应该将libboost_date_time-vc141-mt-gd-1_65_1.lib
库目录添加到您的项目配置中。这个 .lib
包含在 NuGet 包 boost_date_time-vc140
或 boost_date_time-vc141
中。
由于您使用的是 Visual Studio 2015,您只需将 NuGet 包 boost_date_time-vc140
安装到您的项目中,NuGet 会自动将 libboost_date_time-vc141-mt-gd-1_65_1.lib
库目录添加到您的项目配置中。安装完成后,该错误将得到解决。
此外,由于您在 Visual Studio 2015 中使用 boost
库,我建议您可以使用包含许多依赖项的 boost-vc140
。所以你不需要手动添加它们。
希望这会有所帮助。
【讨论】:
【参考方案2】:您需要将 boost 库目录添加到您的项目配置中,进入项目菜单,然后进入属性。
在属性树中进入“VC++ 目录”并在库目录中添加 \lib64-msvc-12.0(将 64 更改为 32 以用于 32 位构建)。
我建议你通过view->other windows->property manager来做这个,以后所有的项目也会设置的。
【讨论】:
我什至找不到我的 \lib64-msvc-12.0 文件的位置...在我的包文件夹中我有 \packages\boost.1.65.1.0\lib\native\include\boost 【参考方案3】:出现链接错误的原因是您安装了仅标头的 NuGet“Boost”包。然而,由于一个不幸的设计决定,这个仅包含头文件的包还包含 not 仅包含头文件的 Boost 库的头文件,例如 datetime。使用更好的设计,您会更早(在编译时)得到错误。
“Boost.vc120”和“Boost.vc140”包包含仅头文件库和常规编译库;它们之间的区别在于使用的编译器。
【讨论】:
以上是关于C ++ boost nuget无法打开文件Visual Studio 2015的主要内容,如果未能解决你的问题,请参考以下文章
错误:C1083:无法打开包含文件:'boost/asio.hpp':没有这样的文件或目录
致命错误 C1083:无法打开包含文件:'boost/regex.hpp':没有这样的文件或目录