【发布时间】:2012-02-28 06:20:15
【问题描述】:
我刚刚进入了一个建立项目的链接地狱。我在我的头文件中移动了一些东西,现在我遇到了这样一个事实,尽管我在每个头文件上都使用了#indef、#define 和#endif,但有些对象看不到其他对象。
我注意到在我的一个旧文件中,我在一个名为 World 的类中使用了一个名为 Region 的类。
因为类 World 一直抱怨看不到其他类,我可以通过简单地包含类 Region 来解决它;在它上面。
有什么办法可以避免这样的事情吗?
谢谢。
【问题讨论】:
-
我们需要查看代码和错误信息。有了这么模糊的描述,有很多事情可能是问题的根源。
-
对于这个一般性的问题,我们可能无法帮助您。你的意思是你包含了标题(
#include "Region.h")还是你声明了类(class Region;)? -
您(模糊地)描述的问题听起来更像是编译错误而不是链接器错误(特别是如果它们通过添加#include 指令来解决)。另外,我希望您的意思是“#ifdef”而不是“#indef”。
-
所有的 .cpp 都编译成 .o 文件了吗?