Answers:
在您要#include 另一个项目的头文件的项目中,需要将头文件的路径添加到项目配置的“ 其他包含目录”部分中。
要访问项目配置:
要包含头文件,只需在代码中编写以下内容:
#include "filename.h"
请注意,您无需在此处指定路径,因为您已经将目录包括在“其他包含目录”中,因此Visual Studio将知道在哪里寻找它。
如果您不想在项目设置中添加每个头文件的位置,则可以只包含一个目录,直到一个点,然后相对于该点#include:
// In project settings
Additional Include Directories ..\..\libroot
// In code
#include "lib1/lib1.h" // path is relative to libroot
#include "lib2/lib2.h" // path is relative to libroot
如果使用静态库(即.lib文件),则还需要将库添加到链接器输入中,以便在链接时可以链接符号(否则,您将得到未解析的符号):
#include "proj2\include.h"
。每个解决方案有多个项目似乎非常针对NET语言,因为它们的用法非常不同。还没有找到一种解决C ++项目的好方法。
#include
与项目无关-它只是告诉预处理器“将头文件的内容放在这里”。如果您提供的路径指向正确的位置(可以是相对路径,例如../your_file.h),则将正确包含该路径。
但是,您将必须了解库(静态/动态库)以使此类项目正确链接-但这是另一个问题。
由于两个项目都在同一个解决方案下,因此存在一种包含文件和链接器的简单方法,如https://docs.microsoft.com/zh-cn/cpp/build/adding-references-in-visual-cpp-项目?view = vs-2019:
#include "../libProject/libHeader.h"
)中。您需要在项目属性中设置标头的路径,以便编译器在尝试查找标头文件时在此处查找。我不记得确切的位置,但是仔细查看Project属性,您应该会看到它。
扩展@Benav的答案,我的首选方法是:
$(SolutionDir)
到其他包含目录现在,您可以像这样包含所引用项目的标题:
#include "OtherProject/Header.h"
笔记:
#include
s 不是必需的,但它可以设置您可能想要的正确构建依赖关系。