我正在尝试使用Eclipse CDT(版本:Indigo Service Release 1 Build id:20110916-0149)在RHEL6 64位Linux中构建和调试我的c / c ++项目,我遇到了问题。我已经完成了我认为使用备用工具链来执行编译所必需的东西,但似乎缺少了一些东西,因为eclipse说它编译了源代码,但实际上并没有这样做。
对于设置我去了C / C ++项目属性 - > C / C ++ Build配置“调试”配置,在“构建器设置”选项卡上取消选中“使用默认构建命令”复选框,并在“构建命令”字段中输入我的工具链“mk all”的名称。然后,我取消选中“自动生成Makefile”复选框。接下来,我将“Build Directory”字段更改为“”。最后,我进入“行为”选项卡并取消选中“构建资源保存(自动构建)”复选框,并将“生成构建目标”更改为“所有$ {selected_resource_loc}”。
现在,当我转到我的项目,并选择需要构建的子目录,然后单击工具栏上的构建按钮时会发生以下情况:
1)我在进度窗口中看到了“Build Project ...”
2)CDT构建控制台显示:
**** Build of configuration Debug for project myproj ****
mk all
**** Build Finished ****
以上是我在代码需要重建时看到的内容,不需要重建,以及编译时出现错误。我可以通过打开一个bash终端并在我想要构建的目录中键入“mk”来验证这一点。当我从终端编译时,我可以看到编译器输出(成功和错误等),但是eclipse没有向我显示任何类型。
我一定错过了什么,但我不确定是什么。有没有人对我做错了什么有任何想法?
- 更新 -
我发现我的问题的哪一部分,结果是我的构建工具是通过bash脚本调用的,顶部没有shebang。
我的下一个问题是始终从项目的根目录调用构建,该项目没有makefile。我已经尝试将“$ {selected_resource_loc}”变量放入“make build target”字段,但它似乎没有正确的效果,因为我的“mk all”命令似乎被调用,变量被转换为每次都是空字符串。关于这方面的任何想法?
答案 0 :(得分:0)
'DEAR PEOPLE FROM THE FUTURE: Here's what we've figured out so far ...'
我解决了我的问题。我曾经问过一个有类似设置的朋友试试这个,然后他就开始尝试了。然后我得出结论,这是我的安装或我的项目。因此,我继续删除项目文件(.project和.cproject)并重新创建项目。在我完成之后,它看起来像一个魅力。我必须选择一个模糊的不兼容项目选项,这会导致某些内容无法扩展$ {selected_resource_loc}变量。奇怪的。我希望这可以帮助一路上的人。