如何禁止Qt Creator自动使用特定的包含路径

How to prohibit Qt Creator to use specific include path automatically?

本文关键字:路径 包含 何禁止 禁止 Creator Qt      更新时间:2023-10-16

我在同一台CentOS机器上使用 2 个不同的GCC版本(包含在操作系统一和自定义机器中),我不想用我的自定义版本替换系统GCC,我只使用自定义版本来构建一些软件。问题是Qt Creator会自动添加/usr/include以包含文件夹,因此自定义GCC开始使用系统C++包含并崩溃并显示奇怪的错误消息,例如error: '::memchr' has not been declared。我的*.pro文件中没有/usr/include,所以看起来Qt Creator自己添加了它们。如何禁止Qt Creator项目使用某些特定的包含补丁以允许在具有 2 个GCC版本的机器上进行编译?当我在同一台机器上使用Eclipse CDT时,它运行良好,因为 Eclipse 本身不会添加任何内容,而只使用我指定的包含目录。

您可以使用CXXFLAGS += -nostdinc .

这应该执行以下操作(摘自手册):

不要在标准系统目录中搜索头文件。仅您指定的目录 使用 -I 选项(以及当前文件的目录,如果适用)进行搜索。

这不是

一个优雅的答案,如果有人有更好的想法,仍然欢迎你发布你的答案,我会接受的。因此,我在qmakemake命令之间添加了自定义构建步骤,并在此自定义构建步骤中使用sed命令动态编辑Makefile并删除额外的包含。这个解决方案有效,但是,它很丑陋。