Visual Studio 17 C ++链接外部库(增强安装)

时间:2018-10-05 18:14:20

标签: c++ visual-studio dll build visual-studio-2017

我安装了外部库,但似乎无法链接它们。

我右键单击``项目'',然后单击工具提示上的``属性''。我将库目录调整为要使用的库。

项目属性页> VC ++>库目录_添加目录-[添加带有[library_name] .lib的正确目录]

项目属性页>链接器>输入>其他依赖项-[在列表中添加[library_name] .lib(w';')]

它构建良好,但是当我使用#include指令加载[my_include] .hpp时,它说“找不到源”。但是,为什么不找到图书馆呢?为什么按源搜索?

只要不需要使用库的代码,构建便会成功。这样就满足了依赖性。我在做什么错了?

我还需要提供源代码吗?我宁愿只使用库。

add:如何在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库。

没有链接问题,但我想确保链接也能正常工作。

1 个答案:

答案 0 :(得分:0)

包含文件是与库文件不同的问题。包含文件是由编译器处理的文本源,库文件是馈送到链接器的二进制数据。

在与添加库目录相同的项目设置页面上,还有一行用于包含路径,添加该目录,在该目录中找到了要使用的代码的.h文件。确保为库搜索指定的目录实际上包含.lib文件,而为包含路径添加的目录则包含.h(或.hpp或.hxx)文件

如果在编译器找到包含文件后出现“无法解析的外部符号”错误,则可能需要添加实际的库文件(类似于#include指令,但不完全相同),使用Visual c ++可以完成此操作#pragma comment(lib,“”)指令或通过将文件添加到项目设置中的Linker-> Input-> Additional依赖项行中。