2

最近我在从 3.6 (Helios) 升级到 Eclipse 4.2 (Juno) 时在 Eclipse 中遇到了一些错误,

我的环境如下:

  • 操作系统:Ubuntu 12.04 32bit
  • 日食:4.2 朱诺
  • 海湾合作委员会:4.6.3

我的代码如下:

static void doMatch(check_context_ptr ctxt)
{
    char    *cmd, *result;
    int k;//test 20120417
    char sourceName[10];
    asprintf(&cmd, "match %s %d %d\n",ctxt->filename, ctxt->probe_count, ctxt->threshold);
    free(cmd);
    for(k=0;k<10;k++)
        sourceName[k]=ctxt->filename[39+k];
}

如下错误: 描述 Resource Path Location Type

  • 警告:忽略'asprintf'的返回值,用属性warn_unused_result [-Wunused-result]声明
  • 警告:变量「sourceName」已设置但未使用 [-Wunused-but-set-variable]

我知道有所有警告,但在我的日食中,它们显示在错误项目中

在此处输入图像描述

我知道有一个解决方案可以解决第 60、64 和 71 行的错误,例如: 在此处输入图像描述

我知道这是一种糟糕的编程风格,但我总是使用这种方式来测试我的代码,并且我确信命令参数有一个 -wall 选项,并在代码分析设置中将未使用的返回值标志设置为警告。所以有人知道如何忽略警告错误吗?如何在 Eclipse 中设置参数? 

4

1 回答 1

0

参考GCC 4.6 中的奇怪诊断编译指示行为,这是一个本地化问题。所以我只是将语言相关的环境变量更改为 en_US_UTF-8。(Window -> Preference -> C/C++ -> Build -> Environment)相关的环境变量:LANGUAGE、LANG、LC_ALL、LC_MESSAGE等。

于 2013-03-18T04:22:51.733 回答