【问题标题】:Where to add a CFLAG, such as -std=gnu99, into an (Eclipse CDT) autotools project将 CFLAG(例如 -std=gnu99)添加到 (Eclipse CDT) 自动工具项目的位置
【发布时间】:2012-07-22 22:36:39
【问题描述】:

我有一个简单的 Autotools C 项目(不是 C++),它的骨架是由 Eclipse CDT (Juno) 为我创建的。

CFLAG(通过检查)似乎是 -g -O2

我希望所有生成的 make 文件也有 -std=gnu99 附加到 CFLAG,因为我使用 for (int i = 0; i < MAX; i++) 和类似的。

我显然可以破解 Makefile,但这会在 ./configure 上被覆盖。

添加(或更改)代码所需的 CFLAG(而不是用户可能想要更改的 CFLAG)的正确位置在哪里?

附:如果可能的话,我想通过编辑文本文件(例如 Makefile.amconfigure.ac)而不是单击 Eclipse 中的框来完成此操作。

【问题讨论】:

    标签: c eclipse eclipse-cdt autotools


    【解决方案1】:

    遇到同样的问题。

    这里是解决方案,只需在配置选项末尾添加 CFLAGS:

    如果您想通过编辑configure.ac 来做到这一点,只需将CFLAGS="$CFLAGS something" 添加到configure.ac

    【讨论】:

    • 如果添加 CFLAGS="-std=gnu99" 并启用 CFLAGS 复选框,例如 Debg(-g)、Gprof 支持(-pg),则只有 CFLAGS="-std =gnu99"** 被视为有效,忽略其他启用 GUI 的 CFLAGS
    【解决方案2】:

    如果你的意思是编译器的参数比见附件。 (c++ build/setting/Misc)

    【讨论】:

    • 在我的机器上,我只有二进制解析器和错误解析器选项卡。我还有一个额外的灰色配置:'Build (GNU) [ Active ]' 下拉列表,在这些选项卡上方。我一周前从eclipse.org/downloads 下载了“面向 C/C++ 开发人员的 Eclipse IDE,143 MB”。
    • 我还创建了一个全新的项目,它仍然只有两个标签。
    • 我刚刚创建了一个非自动工具项目,它有所有五个选项卡。我认为您的回答仅适用于 non-autotools 项目,这不是问题。
    • 这对我的交叉编译器 c 项目很有用。
    【解决方案3】:

    在 Eclipse Neon CDT 中,您还有一个“方言”设置,如下所示:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-20
      • 2014-01-03
      • 2014-04-30
      • 2010-10-27
      • 1970-01-01
      • 2016-10-15
      相关资源
      最近更新 更多