如何禁止Qt Creator自动使用特定的包含路径
How to prohibit Qt Creator to use specific include path automatically?
我在同一台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 选项(以及当前文件的目录,如果适用)进行搜索。
这不是
一个优雅的答案,如果有人有更好的想法,仍然欢迎你发布你的答案,我会接受的。因此,我在qmake
和make
命令之间添加了自定义构建步骤,并在此自定义构建步骤中使用sed
命令动态编辑Makefile
并删除额外的包含。这个解决方案有效,但是,它很丑陋。
相关文章:
- 如何使用cppcheck处理半相对包含路径
- CMake 错误"源似乎不包含 CMakeLists.txt",路径/库连接问题
- 检查路径是否包含C++中的另一个路径
- 如何确定包含路径的来源?
- CMake 错误 - 目标 foo INTERFACE_SOURCES属性包含在源目录中以前缀为前缀的路径
- 如何在内核中添加包含库的路径?
- 生成文件缺少包含路径 尽管路径存在并已定义
- 更改包含路径
- CMake 包含/源路径有效配置
- 在 Android Studio 中添加 C/C++ 的包含路径
- Tensorflow包含C++的路径
- 如何在不包含完整的文件系统头的情况下使用文件系统的类路径C++17?
- 在 Visual Studio 2010(及更高版本)中定义包含或链接路径变量的位置
- Eclipse IDE C/C++ 自动包含来自定制构建脚本的路径
- 如何设置 CMake 来构建包含路径包含的代码,如 #include < libdir/lib>?
- 崇高文本 3 - 在终端中编译并运行 C++ 程序(路径包含空格)
- QDesktopServices::openUrl() 如果路径包含空格("apt-get upgrade" 后)失败
- boost文件系统3路径包含检查
- C++库路径包含
- 如何使用Boost Filesystem Library v3确定文件是否按路径包含