我在同一台GCC
计算机上使用了2个不同的CentOS
版本(包含在操作系统1和自定义版本中),我不想用我的系统替换系统GCC
自定义一个,我使用自定义一个只构建一些软件。
问题是Qt Creator
添加/usr/include
以自动包含文件夹,因此自定义GCC
开始使用系统C ++包含并崩溃时出现奇怪的错误消息,如error: '::memchr' has not been declared
。我的/usr/include
文件中的任何位置都没有*.pro
,因此看起来Qt Creator
会自行添加Qt Creator
。
如何禁止GCC
项目使用某些特定的包含补丁来允许在具有2个Eclipse CDT
版本的计算机上进行编译?当我在同一台机器上使用{{1}}时,它可以很好地工作,因为Eclipse本身并没有添加任何内容,只使用了我指定的include目录。
答案 0 :(得分:0)
您可以使用CXXFLAGS += -nostdinc
。
这应该执行以下操作(摘自手册):
不要在标准系统目录中搜索头文件。只有您指定的目录 使用-I选项(以及当前文件的目录,如果适用)进行搜索。
答案 1 :(得分:0)
这不是优雅的答案,如果有人有更好的想法,你仍然欢迎你发布你的答案,我会接受它。
因此,我在qmake
和make
命令之间添加了自定义构建步骤,并在此自定义构建步骤中使用sed
命令来动态编辑Makefile
并删除额外的包含。然而,这个解决方案很有效。