У меня проблема с моим кодом. В основном это выглядит так:
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 () четко определен в someclass.cpp.
Что может быть источником этого?