我正在学习C ++,一些Boost库和VS2019 Community Edition。我目前正在阅读Boost网站的在线资料和 Learning Boost C ++ Libraries 一书,试图继续学习。我想更新到1.70.0,并弄清楚为什么我的代码正确构建。我知道,我知道...如果有效,为什么要提出疑问?好吧,事实是我只是不明白为什么!
在手动下载和安装Boost 1.68.0之前,我并不了解Nuget和vcpkg(顺便说一句,似乎安装库的方法太多了,这很令人困惑)。此后,我删除了原始的Boost安装目录,并尝试通过VS2019中的Nuget安装Boost库。这似乎没有成功(尽管我怀疑vcpkg(请参阅下文)与它有关)。我遇到了一个链接器错误(找不到.lib文件),该错误最终得到了解决(不要问我如何...这是一个令人困惑的故事,涉及创建一个新项目并剪切/粘贴我的代码。现在它可以了;如图)。
当前,当我在代码中开始#include指令()时,我可以看到位于D:\ ... \ vcpkg \ installed \ x86-windows \ include \ boost下的文件的路径。我从来没有直接使用过vcpkg,所以我不知道为什么要使用它。该项目的“属性页”没有在 C / C ++>其他包含目录下或在链接器>其他库目录下列出路径,所以我不知道从何处来编译器和链接器正在获取引用。在Nuget用户界面下似乎没有安装任何软件包。
理想情况下,我想重新开始Boost安装并使用VS内部工具来完成安装。在探索Boost时,我可能会有几种不同的VS解决方案,并且希望Boost可以用于将来的所有项目。有可能吗?
有什么建议吗?
答案 0 :(得分:0)
首先,使用NuGet将boost
软件包安装到项目中。您应该看到一个packages.config
添加到您的项目中,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="boost" version="1.70.0.0" targetFramework="native" />
</packages>
接下来,包括所需的boost头文件:
#include <boost\array.hpp>
您可以通过将插入符号放在hpp
之后,按 CTRL + SPACE ,然后将鼠标悬停在上面来确认从正确的路径加载了标头在上下文列表中的项目上方:
答案 1 :(得分:0)
要记住的一件事是,“ boost”程序包仅安装仅标头库,而不安装所有需要二进制库的库。
要安装二进制库,您需要安装单个软件包,例如“ boost_log-vc141”是增强日志记录库。