qmake的默认行为是添加项目的根路径以包含路径。在Makefile中,它会生成如下内容:如何从包含路径中删除项目的根目录qmake
INCPATH = -I..\bug -I. -I..\..\Qt\Qt5.8.0\5.8\mingw53_32\mkspecs\win32-g++
其中“bug”是项目的名称。我不想要“ - 我”。部分。我如何在.pro
文件中删除这个?
我想:
INCLUDEPATH -= "."
但它改变不了什么。
详细解释:我的项目在Linux上编译得很好,但在Windows(mingw)上编译失败。经过深入研究,我意识到在标准C++库(string.h)中包含了名为“process.h”的文件。问题是在我的项目中有一个名字完全相同的文件。反过来,我项目中的文件被包含到标准库的头文件(!!)中。该行为导致字符串头文件无法编译。
一个明显的解决方法就是重命名'process.h'文件在您的项目。 –
@KubaOber它不是任何解决方案。这是一种解决方法。 – jaskmar
这是有争议的。您也会在其他构建系统上反复出现该问题。一般来说,在您的项目中有任何与任何常用标准标题相同的文件都是非常糟糕的主意。通过专注于qmake你可以在路上踢球:) –