2
我的代码出现问题。它基本上是这样的:每次更改代码后无法解析的外部符号
someclass.hpp:
class SomeClass
{
public:
SomeClass();
~SomeClass();
//... some other methods
};
someclass.cpp:
#include "SomeClass.hpp"
SomeClass::SomeClass()
{
}
SomeClass::~SomeClass()
{
}
SomeClass.cpp不包括其他任何东西。
构造函数实际上也是空的。我只是不想让它们未定义或者离开标准构造函数,因为我可能稍后需要它。
SomeClass.hpp实际上是包含在仅一个地方的游戏状态类:
的main.cpp
#include "SomeClass.hpp"
int main()
{
DoSomethingWithGamestate(new SomeClass());
return 0;
}
,并在项目包括了很多其他的文件,所有这些都是但是,与SomeClass无关。
的问题是,每当我在代码改变任何东西,不管在哪个文件,我有,因为如果我只编译更改链接抛出这个重新编译整个解决方案:
error LNK2001: unresolved external symbol "public: __thiscall SomeClass::SomeClass(void) (??blablaSomeClassblabla)
显然,这里有一些奇怪的事情发生,因为SomeClass()在某些class.cpp中是明确定义的。
这可能是什么原因?
我在问,因为重建整个项目几个变化是令人难以置信的麻烦,因为它需要一段时间(现在大约2分钟,这个数字肯定会随着时间的推移相当快地增长)并减缓调试吨。有没有办法确保构建文件保持最新?我可以手动更新它们而无需重建整个事物吗? – TravisG
@heishe:重建是一种痛苦,是的。你可以尝试“制作”文件。 – 2011-07-31 13:07:28