Qmake没有找到仍然自动完成的文件显示它

时间:2015-02-15 20:19:18

标签: compiler-errors qmake

在Windows上使用QtCreator时,qmake找不到文件:

#include <glib/galloca.h>

我的.pro文件:

INCLUDEPATH += "C:/gstreamer/1.0/x86/include/gstreamer-1.0" \
               "C:/gstreamer/1.0/x86/include" \
               "C:/gstreamer/1.0/x86/include/glib-2.0/glib"

但是如果我输入行#include <glib/ga>,自动完成会显示文件名“galloca.h”,所以我不知道为什么编译器会说“找不到文件”。该文件不在项目目录中,但这有问题吗?

1 个答案:

答案 0 :(得分:0)

简单来说,#include相对于INCLUDEPATH起作用,并且两者都合并为一个路径字符串并传递给编译器。您在INCLUDEPATH中使用绝对目录路径,因此完整的文件路径为

C:\gstreamer\1.0\x86\include\glib-2.0\glib\galloca.h

要解决您的问题,您必须使用以太网

C:/gstreamer/1.0/x86/include/glib-2.0/glib + #include <galloca.h>

C:/gstreamer/1.0/x86/include/glib-2.0 + #include <glib/galloca.h>

您的IDE可能会递归扫描所有目录并从那里建议任何文件名,但在编译期间不会使用此信息。