在解决了以前的问题之后,另一个似乎已经抬头:
我的专业文件中有各种目录,我包含的头文件具有以下格式:
#include <ting/tong.hpp>
当添加到我的专业文件中的路径之一时,它会到达正确的文件。我可以通过右键单击并选择“跟随光标下的符号”来打开它。
如果我输入文件的完整路径,那么它会编译,但这无济于事,因为我包含的头文件仍然包含对它的引用,我无法更改该文件。
为什么 find 函数能够找到文件而编译器却不能?
在解决了以前的问题之后,另一个似乎已经抬头:
我的专业文件中有各种目录,我包含的头文件具有以下格式:
#include <ting/tong.hpp>
当添加到我的专业文件中的路径之一时,它会到达正确的文件。我可以通过右键单击并选择“跟随光标下的符号”来打开它。
如果我输入文件的完整路径,那么它会编译,但这无济于事,因为我包含的头文件仍然包含对它的引用,我无法更改该文件。
为什么 find 函数能够找到文件而编译器却不能?
你说:
我假设如果我在 INCLUDEPATH 中提供包含目录,它将能够找到标题,但事实并非如此。我似乎能够修复它的唯一方法是明确包含它在主窗口文件中找不到的头文件 - 这肯定不是我应该做的吗?
是的,这正是你应该做的。在您的.pro
文件中,您包含头文件所在的目录:
INCLUDEPATH += ../third-party/fooProject/include
然后在你的源代码文件中,你想要包含的文件,通常在.h
你的类的文件中:
#include <foo/foo_object.h>
这将包括标题../third-party/fooProject/include/foo/foo_object.h