编译器找不到 .h 文件(代码块)

Compiler cannot find .h files (code blocks)

我试图在代码块中包含一些库,但是当我将 .h 文件的路径添加到搜索目录时(示例 C:\Qt.1.1\mingw48_32\include\QtNetwork) ,它似乎只识别主文件中的那些,我认为这是因为在主文件中它们是这样包含的(例如)#include "qtcpsocket.h",而在 .h 文件中它们包含为(例如)#include <QtNetwork/qabstractsocket.h>

除了包含所在文件夹外,主要区别是什么?为什么它可能不起作用?它需要做什么来改变它?

还有一件事我确定文件在文件夹中。 如果有帮助,这里有一些代码片段

文件位置

错误

如果您的源代码包含,例如

#include <QtNetwork/qabstractsocket.h>

然后您请求预处理器查找并包含一个名为

的文件
QtNetwork/qabstractsocket.h

(或者,QtNetwork\qabstractsocket.h,如果你在 Windows,就这样)

在其搜索目录之一中。

如果您指定了编译器搜索目录:

C:\Qt.5.1\mingw48_32\include\QtNetwork
C:\Qt.5.1\mingw48_32\include\QtCore

然后预处理器将在第一个目录中搜索:

C:\Qt.5.1\mingw48_32\include\QtNetwork\QtNetwork\qabstractsocket.h

不存在。它将在第二个目录中搜索:

C:\Qt.5.1\mingw48_32\include\QtCore\QtNetwork\qabstractsocket.h

也不存在。

通常的方法是指定编译器搜索目录:

C:\Qt.5.1\mingw48_32\include

并在您的代码中编写您的 #include <...> 指令,例如:

#include <QtNetwork/...>
#include <QtCore/...>