【发布时间】:2019-03-11 06:58:58
【问题描述】:
我安装了外部库,但似乎无法链接它们。
我右键单击项目并点击工具提示上的属性。我将库目录调整为我要使用的库。
项目属性页 > VC++ > 库目录 _ 添加目录 - [添加正确的目录,其中包含 [library_name].lib ]
项目属性页 > 链接器 > 输入 > 附加依赖项 - [ add [library_name].lib in list (w ';') ]
它构建得很好,但是当我使用 #include 指令加载 [my_include].hpp 时,它显示“找不到源”。但是,为什么它不只是找到图书馆呢?为什么要按源搜索?
只要不需要需要库的代码,构建就会成功。因此,满足了依赖关系。我做错了什么?
我也需要做源码吗?我宁愿只使用图书馆。
添加:如何在 Visual Studio C++ 中跟踪构建。在 Linux 中,您可以根据需要跟踪所有步骤。
另一个补充:如果您想知道,下面有构建日志文件设置
工具 -> 选项 -> 项目和解决方案 -> MSBuild ...
供检查。
沙盒程序
#include <iostream>
// squiggly under next line's include
#include <boost/optional.hpp>
int main()
{
std::cout << "Hello World!\n";
}
项目 -> 属性页 -> C/C++ -> 常规 -> 附加包含目录 _ 设置为 _ C:\local\boost_1_68_0;%(AdditionalIncludeDirectories)
boost_1_68_0 是我安装的 boost 库。
没有链接问题,但我想确保链接也有效。
【问题讨论】:
-
我尝试加载 [my_include].hpp 你在做什么来加载这个文件? #include 将返回完全不同的错误。
-
如果我有库,是否需要该文件?
-
如果我有库,是否需要该文件? 您可能需要标头来编译使用该库的任何内容。如果这是一个 .dll,您可能还需要 .lib(导入库)。
-
我也需要做源码吗?不需要。
-
还需要添加
c++ -> General -> Additional Include Directories的路径。
标签: c++ visual-studio dll build visual-studio-2017