使用 NuGet 的 VS2013 提升

VS2013 Boost using NuGet

几天来我一直在努力提升我的 Visual Studio 2013 Premium 安装的性能。我尝试使用 zip 安装,现在使用 NuGet。这两种方法都让我遇到了链接器错误。

错误:1>LINK:致命错误 LNK1104:无法打开文件 'libboost_system-vc120-mt-gd-1_57.lib'

我查看了 boost 的邮件列表,发现有人发布了类似的问题,但那是 2012 年的 boost_1_54_0 之类的,所以与 VS2013 或 boost 1_58_0 完全不相关.

我也查看了一些论坛帖子,包括 SO,但其中 none 遇到了与我相同的问题。要么,要么他们根本没有回复。

我无法真正辨别错误显示的任何标志,因为这是我第一次使用 STL 库或我自己的库以外的任何东西 headers。

我们将不胜感激,如果有任何其他有用的信息,请告诉我。

您的硬盘上是否存在文件 libboost_system-vc120-mt-gd-1_57.lib

如果是,您是否将 .lib 添加到 linker/input/Additional 依赖项中?

我怀疑您安装了名为 "boost" 的 NuGet 包。这似乎包含所有 Boost headers,但没有编译的库。如果您只对使用 header-only Boost 库(即其中的大部分)感兴趣,那很好。

你真正想要的是名为"boost-vc120"的包(vc120是指VC++ 12.0,也就是VS2013自带的VC++版本)。这也有所有的库。您会注意到安装需要更长的时间。

无论哪种情况,NuGet 都会负责设置所有必要的 VC++ 目录设置。无需进一步配置。

Boost NuGet 包的结构是here. You can use boost-vc120 but it will download ALL boost libraries to your project. So if you want to save disk space, then use boost package which gives you header files, and specific binary packages. In your case, it's boost_system-vc120

您无法删除 boost 包,因为 boost-vc120/boost_system-vc120 等二进制包依赖于它。

转到以下网页:

https://github.com/sergey-shandar/getboost

从那里你会发现 "NuGet Packages for Boost." 有多个 link。

如果您先选择 link - 您将获得 boost-includes nuget-package 指示。基本上,您需要在 Visual studio、select 正确的项目中打开包管理器,然后键入命令 "Install-Package boost -Version 1.69.0" - 它会启用 boost 包括自动下载到 "packages" 文件夹。

通过关注其他 link,您可以获得特定 Visual studio 的提升静态库 - 关注 "boost-vc141" 以获得 Visual studio 2017 静态库。

那个boost包会得到很多boost库——如果你不需要所有的——制作临时项目,获取boost静态库,然后自己复制粘贴库。