Eclipse CDT省略了-D的前导破折号

时间:2012-11-28 20:02:39

标签: eclipse eclipse-cdt

我正在使用指定的_D选项MY_OPT编译.c文件。在属性 - > c ++ build - >设置 - > gcc c编译器 - >符号我创建了一个条目并将MY_OPT作为值。

当我编译时,我得到错误127,说无法找到DMY_OPT。我知道错误127意味着它真的来自bash,经过一番思考后,我意识到由于破折号不在那里(如在-DMY_OPT中),bash确实会报告没有找到名为DMY_OPT的输入文件。

我搜索了google和stackoverflow并发现了很多类似的问题,但是无法用足够窄的搜索字词来制定一个能够解决任何远程相关答案的问题,所以我希望有人可以提供帮助。

注意:我删除了SYMBOL,而是将-DMY_OPT放在其他字段中。没有变化(或者我收到关于不删除以前错误的Eclipse Juno错误。)

1 个答案:

答案 0 :(得分:0)

我发现这个问题的答案是对Eclipse构建的整个命令行的测试。我的阅读

${COMMAND ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS} } ${FLAGS}
         ^                                                   ^ 
         } accidentally moved to here ---------------------->| 

我原本打算将$ {FLAGS}移到命令行的末尾,但也设法移动右侧} $ {COMMAND} ..

注意:这样做是为了让编译命令行看起来像链接器命令行,其中一个应该将$ {FLAGS}移动到行的末尾,从而放置“.o的列表” “和”-x xxx“之前的”_l's:和“-L”是某些版本的gcc / g ++所要求的。