包含头文件时遇到问题

Having trouble including header files

我只能使用我添加到 C:\SDL2-w64\include 的头文件,但我无法将它 link 到我的项目文件夹中的 include 文件夹。

例如:我有一个名为“MyProject”的文件夹,它位于 C:\Users\User\Desktop\MyProject,在项目文件夹内有一个位于 \MyProject\Include 的“Include”文件夹,然后我添加一个将名为“head.h”的头文件添加到包含路径。在我的代码中,我使用 #include <head.h>,然后出现错误 cannot open source file "head.h",但是如果我将 head.h 添加到 C: \SDL2-w64\include 它工作得很好。

有人知道如何包含位于我的项目文件夹中的 Include 文件夹吗?

假设执行包含的文件位于 C:\Users\User\Desktop\MyProject,请尝试使用 #include "Include/head.h"。这是因为在您的包含中使用引号 ("") 和尖括号 (<>) 是有区别的。

这个答案解释了原因:

但总而言之,对于大多数编译器,#include "blah.h" 将首先在本地目录中搜索,然后是它可以从您的 PATH 变量中找到的内容,而 #include <blah.h> 将从中搜索只有 PATH 中的内容。我猜 C:\SDL2-w64\include 在你的 PATH 中。这可能就是为什么当您将头文件移动到该位置时,它能够找到它的原因。