Eclipse C++ 问题:没有二进制文件(但没有编译器错误),没有类(但在类层次结构中没有条目)
Posted
技术标签:
【中文标题】Eclipse C++ 问题:没有二进制文件(但没有编译器错误),没有类(但在类层次结构中没有条目)【英文标题】:Eclipse C++ issue: No binary (but no compiler error), no classes (but no entry in the class hierarchy) 【发布时间】:2012-02-19 01:58:20 【问题描述】:这个问题可能很容易解决,但我不知道该怎么做。
无论如何,我在 Ubuntu 11.04 中使用的是 Eclipse 3.5.2。我正在用 C++(不是 Java)编写游戏,并且正在为它编写几个类。美好的。我经常构建以检查错误。很好。
但我的第一个问题是,当我点击构建(调试和发布)时,即使出现编译对话框窗口,我也没有得到二进制文件,也没有得到任何错误。这就是我得到的;
**** Build of configuration Debug for project Different-Game ****
make all
make: Nothing to be done for `all'.
就是这样。这可能只是我在某个地方搞砸的设置,但我不知道我在这里做什么!
第二个问题需要解释一下。我用 UML 编写了一个类图,为自己提供一个可靠的参考。我将其导出为 .cpp 文件以查看其工作原理,但我忘记将其从源文件夹中删除。这意味着我的项目认为这些类是项目的一部分。即使在删除 .cpp 之后,它仍然认为这些类在其中。它们不会显示在左侧的层次结构中,但我无法使用它们持有的名称创建类(并且应该放弃)。
有人有什么建议吗?
【问题讨论】:
您是否手动创建自己的 make 文件?如果是这样,请确保您包含“make all”功能,因为 Eclipse 似乎默认使用该功能。 不。我正在使用 Eclipse 的自动生成的 makefile。我没有直接碰它。 好吧,答案在于包含一个 make 文件。这是一种痛苦(对于像我这样习惯于 Java/C# 的人)。阅读此网页,因为您需要复制和粘贴来创建自己的 makefile。 help.eclipse.org/galileo/index.jsp?topic=/… 但问题是,我以前也有过。我已经成功地加载了一个类并打开了一个渲染窗口(使用几个文件,我可能会添加)。所以我不明白如何从头开始制作一个。 啊,对不起。我错过了。我在使用 Eclipse 时遇到了麻烦,并且使文件变得很好。我最终使用带有 Cygwin 的 Bash shell 来实际运行和编译我的代码,并使用 Eclipse 来编写它。不理想,我知道。有时您可以通过选择它一次“制作”一件事,右键单击构建。如果您没有选择任何内容,它将尝试“make all”命令。 【参考方案1】:看起来 CDT 还没有找到要构建的东西。如果它只是找到一些的东西,它会引发诸如undefined reference to 'main'
可能有多种原因:
可以从当前构建中省略文件。右键单击您的源文件,资源配置-> 从构建中排除。确保没有勾选任何内容。 源文件位于 Eclipse 不检查源的子文件夹中。右键单击您的文件夹、属性、C/C++ 构建,确保未勾选“从构建中排除资源”。您可以通过查看构建文件夹(CDT 放置生成的 makefile 的位置)来验证正在生成哪些源文件。查找标题为 subdir.mk
的文件。其中每一个都应提及要在该目录中编译的源文件。
例如如果你有~/workspace/myProject/src/main.c
,那么~/workspace/myProject/Debug/src/subdir.mk
也应该在那里,它应该包含一行../src/main.c
【讨论】:
以上是关于Eclipse C++ 问题:没有二进制文件(但没有编译器错误),没有类(但在类层次结构中没有条目)的主要内容,如果未能解决你的问题,请参考以下文章
OS X Eclipse C++ 启动失败 - 找不到二进制文件