코드에 문제가 있습니다. 그것은 기본적으로 다음과 같습니다코드를 변경할 때마다 해결되지 않은 외부 기호
가 someclass.hpp :
이class SomeClass
{
public:
SomeClass();
~SomeClass();
//... some other methods
};
someclass.cpp :
#include "SomeClass.hpp"
SomeClass::SomeClass()
{
}
SomeClass::~SomeClass()
{
}
SomeClass.cpp는 아무것도 포함되지 않습니다.
생성자는 실제로 비어 있습니다. 나는 아마도 그것들을 정의하지 않거나 표준 생성자를 떠나고 싶지 않습니다. 아마 나중에 필요할 것이기 때문입니다.
SomeClass.hpp 실제로 하나 개의 장소에 포함 된 gamestate 클래스입니다 :
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에 명확하게 정의되어 있기 때문에 이상한 일이 있습니다.
이 소스가 될 수있는 것은 무엇입니까?
몇 가지 변경 사항을 위해 전체 프로젝트를 다시 빌드하는 데 시간이 오래 걸리고 (당분간 약 2 분이 소요되며 시간이 지나면 확실히 빠르게 증가 할 것이기 때문에) 엄청나게 번거롭고 디버깅 톤이 느려지므로 묻습니다 . 빌드 파일을 최신 상태로 유지할 수있는 방법이 있습니까? 전체를 재구성하지 않고 수동으로 업데이트 할 수 있습니까? – TravisG
@heishe : 재건은 고통입니다. 파일을 '만들'수 있습니다. –