我希望我的所有 C 程序都默认使用选项 -Wall -pedantic -ansi
进行编译。有没有办法让 Eclipse 默认为所有项目将这些标志添加到编译器命令?
最佳答案
分配 CFLAGS 以包含这些值,并让 Eclipse 在编译时运行默认使用该环境变量的工具(例如 make)。
您可能必须在运行 Eclipse 之前指定环境变量(然后在 Eclipse 运行 make 时它们会被继承),但可能有一种方法可以在 Eclipse 中指定默认环境。
(我不使用 Eclipse,所以我必须了解如何安装和测试它;或者这个答案可能会唤起某人的内存,如果是这样,请随时进行编辑。)
顺便说一句,您可能需要 -std=c99 而不是 -ansi。 -ansi 选项仅表示 -std=c89 或 -std=c++98,具体取决于您编译的是 C 还是 C++,这两个标准都显示出它们的时代。
我在运行 Windows 的 VM 中安装了 Eclipse 来对此进行测试,即使环境中有 CFLAGS,Eclipse 也不会使用它。 Eclipse 还假装(通过显示像“make all”和“make clean”这样的文本)它在我尝试过的一些情况/项目中运行 make,而实际上它并没有使用 make(可能使用某些内部引擎)。这个答案对于 Eclipse 来说是错误的。
关于c - Eclipse 中 gcc 编译器的默认标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2183888/