“错误”;g++;:CreateProcess:没有这样的文件或目录";在编译Qt项目时

“错误”;g++;:CreateProcess:没有这样的文件或目录";在编译Qt项目时,qt,compiler-errors,g++,Qt,Compiler Errors,G++,我面临着一个典型的G++编译器错误(实际上是MingW,因为我在Windows中)“CreateProcess:没有这样的文件或目录” 经典的是,有很多forun和post,包括这里,人们报告有这个错误,症状、解释和解决方案基本上都是一样的:这个家伙不能编译任何代码,修复是通过添加编译器文件所在的目录来更正PATH环境变量来完成的。原因通常是编译器安装有问题 不过,我的问题有点不同:我的安装很好,以至于我可以使用完全相同的编译器工具包成功地编译其他项目(特别是Qt项目)。只有当我试图编译一个特定

我面临着一个典型的G++编译器错误(实际上是MingW,因为我在Windows中)“CreateProcess:没有这样的文件或目录”

经典的是,有很多forun和post,包括这里,人们报告有这个错误,症状、解释和解决方案基本上都是一样的:这个家伙不能编译任何代码,修复是通过添加编译器文件所在的目录来更正PATH环境变量来完成的。原因通常是编译器安装有问题

不过,我的问题有点不同:我的安装很好,以至于我可以使用完全相同的编译器工具包成功地编译其他项目(特别是Qt项目)。只有当我试图编译一个特定的Qt项目时,这个错误才会发生,而我已经有一段时间没有编译这个项目了。不幸的是,编译器/Qt没有给我任何线索来解释为什么这个特定的项目在其他项目进展顺利时无法编译。尽管如此,我仍然检查了PATH env变量,G++files目录就在那里

那么问题的原因是什么呢?我检查了我的Qt.pro文件是否有任何“特殊”的东西,一切都很好。我很高兴地注意到我已经在pass中编译了这个项目,它已经是一个相当老的项目了,我不记得曾经遇到过这个问题,也不记得最近对.pro文件做过任何重大更改

(如果有帮助:)


我设法找到了答案:糟糕的编程

此应用程序可为Windows和Linux编译。在Linux版本中,团队创建了一个脚本,该脚本自动获取当前SVN版本,并将其添加到.pro中的一个变量中:

DATE = $$system($${PWD}/../../get_compile_date.bat)
然后使用通知值创建定义:

DEFINES += COMPILE_DATE=\\\"$$DATE\\\"
问题是,我是在Windows中编译的,所以MinGW无法正确地“理解”情况,从而导致了错误。一旦删除了对脚本的调用,问题就消失了

DEFINES += COMPILE_DATE=\\\"03-03-2020\\\"