Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt/MinGW给予;没有这样的文件或目录;当头文件存在时,用于该文件_Qt_Compiler Errors_Mingw_Header Files - Fatal编程技术网

Qt/MinGW给予;没有这样的文件或目录;当头文件存在时,用于该文件

Qt/MinGW给予;没有这样的文件或目录;当头文件存在时,用于该文件,qt,compiler-errors,mingw,header-files,Qt,Compiler Errors,Mingw,Header Files,我正在尝试使用MinGW和版本4.8.6编译一个Qt应用程序。该项目可针对嵌入式Linux的Qt进行编译,并且已经完成了为Windows编译所需的修改(几年前已经完成了类似的成功编译)。尽管如此,我还是无法编译它,因为MinGW一直在获取项目头文件的错误“没有这样的文件或目录”: 尽管这些文件位于正确的位置(嵌入式Linux编译中使用了完全相同的源代码树),但Qt Creator确实毫无怨言地找到了这些文件,如下图所示: (如果我在包含上按Ctrl+鼠标单击,Qt Creator将正确打开头

我正在尝试使用MinGW和版本4.8.6编译一个Qt应用程序。该项目可针对嵌入式Linux的Qt进行编译,并且已经完成了为Windows编译所需的修改(几年前已经完成了类似的成功编译)。尽管如此,我还是无法编译它,因为MinGW一直在获取项目头文件的错误“没有这样的文件或目录”:

尽管这些文件位于正确的位置(嵌入式Linux编译中使用了完全相同的源代码树),但Qt Creator确实毫无怨言地找到了这些文件,如下图所示:

(如果我在
包含
上按Ctrl+鼠标单击,Qt Creator将正确打开头文件)

为了解决这个问题,我在我的项目所在的文件夹中创建了一个Hello World Qt Widgets应用程序,复制并粘贴了.pro文件,只更改了带有标题和源的部分,以包含一些空白的
test.hpp
folder/test2.hpp
文件,并且编译得很好。我也在网络上做了一些研究,在这里是为了解决类似的问题,尽管错误信息很常见,但其他人的情况是关于Linux终端、运行可执行文件和查找库,而不是关于项目本身的源代码


那么,是什么使编译器无法找到项目的源代码呢?

我设法创建了一个解决方案,使我能够编译我的项目:在.pro文件内的windows会话中,我添加了一行,专门告诉编译器查看当前目录中的源代码:

win32 {
    INCLUDEPATH += ./

#etc
}

正如您可能猜到的,这是一个愚蠢的解决方法,因为编译器应该将项目目录视为包含路径的一部分。尽管如此,它还是奏效了。但是,我仍然无法理解为什么没有它我无法正确编译代码。

模板目录的完整路径是什么?@vahancho是
E:\embrauslsvn\re8k\u src\trunk\main\u projects\interface\re8k\u interface\template
。您是否尝试清理构建目录并再次运行qmake?它可能只是一个过时的生成文件…它看起来像
E:\embrauslsvn\re8k\u src\trunk\main\u projects\interface\re8k\u interface
include路径丢失。@SergioMonteleone是的,我总是清除所有,运行Qmake,重建所有。