c - Eclipse 中 gcc 编译器的默认标志

标签 c eclipse gcc eclipse-cdt

我希望我的所有 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/

相关文章:

c - 关于 * 的简单 C 问题

C 段错误,即使使用 EOF

android - bin文件夹下的apk文件和Eclipse中通过Export选项创建的apk文件有什么区别?

eclipse - 调试、单步执行 AspectJ 编织类方法

java - 你如何处理不同的 Java IDE 和 svn?

linux - AWS : C compiler on EC2 not working when using Elastic Beanstalk container_commands

c - 关于字符串比较 char* 和数组字符串的区别的解释

c - 为什么 "struct T* next"在 T 不是现有类型时编译?

c - 将 libpq-fe.h 添加到 qt 现有项目

带有内联汇编代码的 %hi() 和 %lo() 编译错误