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