【发布时间】:2013-09-09 07:12:48
【问题描述】:
我有现有的 C 代码和现有的 Makefile,我想将它们包装到 Eclipse C 项目中(使用 Eclipse 3.4 Ganymede)。代码的组织方式如下:
主目录:/Project/Software
源文件和头文件:../Project/Software/CodeDir1 ../Project/Software/CodeDir2 等。
到目前为止,我一直在做这些步骤:
- 将 Eclipse 工作区设置为 /Project/
- 使用名称
Software创建新的C-Project --> 现在Eclipse 将所有源文件等集成到项目中 - 转到属性 -> C/C++ 构建并设置为“自定义构建选项”
我第一次这样做,一切正常。我将输出输入我的控制台,一切都很酷。但是后来“构建图标”(小锤子)变灰了,我不能再点击它了。如果我现在转到项目属性 - > C/C++ 构建它只会说“这个项目不是 CDT 项目”,而且我得到一个“java.lang.NullPointerException”的错误。
我怎样才能得到一个工作项目?
编辑:
为了避免一个简单的错误,我尝试了新版本的 Eclipse (Kepler)。我得到相同的错误(“无 CDT 项目”),但没有空指针异常。
但我可以稍微缩小问题范围:第一次我开始制作过程时它总是有效的。如果构建过程失败,我仍然可以转到我的构建属性。一旦我获得一个完整且无错误的构建运行,就会出现此问题。关于这一点,只有当我的 make call 是从 Eclipse 完成时才会发生。如果我从命令行调用它,我仍然可以从 eclipse 中运行一个。
【问题讨论】:
-
我知道这听起来很愚蠢,如果你的 makefile 最后有一个空行 - 听起来构建在最后停滞不前。另一个问题是您是在使用
make -f makefile还是make -f makefile.mk,或者您是在调用构建脚本或批处理文件'makefile',因为这不是构建代码的意思的makefile。跨度> -
我正在使用
gmake BUILD --file=...等以及更多参数。实际上问题与makefile / make-process本身有关。它总是以某种方式删除我的 cproject 文件(这会导致错误) - 在更新问题之前我只是对其进行了更多研究。