我正在尝试使用 Eclipse CDT(版本:Indigo Service Release 1 Build id:20110916-0149)在 RHEL6 64 位 Linux 中构建和调试我的 c/c++ 项目,但我遇到了问题。我已经完成了我认为使用备用工具链执行编译所必需的操作,但似乎缺少一些东西,因为 eclipse 说它编译了源代码,但它并没有真正做到。
对于设置,我转到 C/C++ 项目属性 -> C/C++ 构建配置“调试”配置,在“构建器设置”选项卡上,我取消选中“使用默认构建命令”复选框,并输入我的工具链的名称“ mk all”进入“构建命令”字段。然后我取消选中“自动生成 Makefiles”复选框。接下来,我将“构建目录”字段更改为“”。最后,我转到“行为”选项卡并取消选中“构建资源保存(自动构建)”复选框并将“构建构建目标”更改为“所有 ${selected_resource_loc}”。
现在,当我进入我的项目并选择一个需要构建的子目录,然后单击工具栏上的构建按钮时,会发生以下情况:
1) 我在进度窗口中短暂地看到“构建项目...”
2) CDT 构建控制台显示如下:
**** Build of configuration Debug for project myproj ****
mk all
**** Build Finished ****
以上是我的代码需要重建,不需要重建,以及编译出现错误时看到的。我可以通过打开 bash 终端并在我要构建的目录中键入“mk”来验证这一点。当我从终端编译时,我可以看到编译器输出(成功和错误等),但 eclipse 什么也没显示。
我一定错过了什么,但我不确定是什么。有没有人知道我做错了什么?
- 更新 -
我发现了我的问题的哪一部分,结果证明我的构建工具是通过 bash 脚本调用的,而顶部没有 shebang。
我的下一个问题是构建总是从项目的根目录调用,它没有生成文件。我已经尝试将“${selected_resource_loc}”变量放入“make build target”字段中,但它似乎没有正确的效果,因为我的“mk all”命令似乎被调用,变量被转换为每次都是空字符串。关于这个附带问题的任何想法?