我在 Linux 上使用 Eclipse CDT Mars.2(和 Neon RC)。我的发行版的默认 C++ 编译器是 GCC 5.3.1,但对于我的一些工作,我使用 GCC 4.9.3。我想一切关于我使用 GCC 4.9.3 的项目:工具发现、C++ 标准库、包含文件路径、索引器、预处理 - 所有这些。
这样做的正确方法是什么?看来 Eclipse 有相当复杂的“提供者”和“工具链”配置,我不想进行以后无法撤消的设置...
Note:我确实尝试更换${COMMAND}
with /usr/bin/g++-4.9
在一些预处理器包含等提供程序设置中,这确实导致发现 4.9.3 相关的包含文件,但我的索引器不喜欢这样,所有 std::stuff 显示为红色且未解析。然后我尝试寻找设置用于索引的编译器版本的位置,但我找不到。
有两个可能的答案,具体取决于您是进行“标准制作”还是“管理制作”。标准 Make 意味着您正在编写自己的 Makefile 并自己管理所有内容。 Managed Make 意味着您让 CDT 创建 Makefile 并管理它们。
标准品牌
对于标准品牌,一切都由扫描仪发现的内容控制。扫描仪负责查找属于项目一部分的所有系统包含文件,并将这些文件输入索引器以解析符号,并且还允许头文件导航等操作。
要更改所使用的编译器,您需要替换${COMMAND}
使用您选择的编译器。您(作为用户)需要确保该命令与您在 Makefile 中使用的命令相匹配。
要改变${COMMAND}
:
- Open 项目属性(右键单击项目)
- Select C/C++ 通用 -> 预处理器包括路径、宏等在树上。
- Select 供应商 tab
- Select CDT GCC 内置编译器设置从列表中
- 更换
${COMMAND}
in 获取编译器规格的命令:到您想要的 g++ 可执行文件。
这是一个有帮助的屏幕截图:
要查看此操作的实际效果,请参阅以下一些带有和不带有所描述的更改的屏幕截图。在我的机器上我有/usr/bin/g++
这是版本 5.3 和/usr/bin/g++-4.7
这是4.7版本。
使用默认的 g++
将 g++ 覆盖到版本 4
使用环境管理
上面的问题是你需要协调g++在 Makefile 和构建设置之间。解决此问题的一种方法是使用C/C++ 构建环境设置来定义CXX
作为编译器来使用。设置CXX
项目设置中的环境变量(项目属性 -> C/C++ 构建 -> 环境)或全局偏好(优先 -> C/C++ -> Build -> 环境).
然后更换${COMMAND}
with ${CXX}
.
这是演示我所描述内容的屏幕截图:
托管制造
相反,如果您使用 Managed Make,则需要覆盖各个工具的构建设置。然后将这些设置输入到预处理器包括路径、宏等。Standard Make 直接使用的设置。
要更改构建设置,您需要在几个地方覆盖用于编译器的命令,针对每种类型的工具一次。开始于项目属性 -> C/C++ 构建 -> Settings然后编辑其中每一个:
-
GCC C++ 编译器-> 通常设置为
g++
-
GCC C 编译器-> 通常设置为
gcc
-
GCC C++ 链接器-> 通常设置为
g++
这是一个截图来演示:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)