error LNK2019: "__declspec(dllimport) public: class cocos2d::extension::CCNodeLoader * __thiscall cocos2d::extension::CCNodeLoaderLibrary::getCCNodeLoader(char const *)" 에러
error LNK2019: "__declspec(dllimport) public: class cocos2d::extension::CCNodeLoader * __thiscall cocos2d::extension::CCNodeLoaderLibrary::getCCNodeLoader(char const *)" (__imp_?getCCNodeLoader@CCNodeLoaderLibrary@extension@cocos2d@@QAEPAVCCNodeLoader@23@PBD@Z) 외부 기호(참조 위치: "public: void __thiscall GameStateManager::registerCCNodeLoader(char const *,class cocos2d::extension::CCNodeLoader *)" (?registerCCNodeLoader@GameStateManager@@QAEXPBDPAVCCNodeLoader@extension@cocos2d@@@Z) 함수)에서 확인하지 못했습니다.
현재 최신 버전인 cocos2d-2.0-rc2-x-2.0.1에서는 위와 같은 에러가 발생합니다. CCNodeLoaderLibrary.h 파일을 보면
일단 cocos2d-x 직접 수정하지 않고 개발을 하기로 했기에 있는 그대로 쓰다보니 이렇네요. 저같은 상황이 발생하신 분들 당황하시지 말라고 포스팅 해봅니다.
현재 최신 버전인 cocos2d-2.0-rc2-x-2.0.1에서는 위와 같은 에러가 발생합니다. CCNodeLoaderLibrary.h 파일을 보면
CCNodeLoader * getCCNodeLoader(const char * pClassName); CCNodeLoader * getCCNodeLoader(CCString * pClassName);있죠. 그래서
///const char* pClassName if( pNodeLoaderLibrary->getCCNodeLoader( pClassName ) == 0 )이렇게 사용하던 것을
if( pNodeLoaderLibrary->getCCNodeLoader( ccs( pClassName ) ) == 0 )이렇게 변경했습니다. CCString로 넘겨주려고요. 했더니 잘 되네요. CCNodeLoaderLibrary의 cpp를 보니 왠걸...인자로 const char* pClassName 으로 된건 구현을 안해놨더군요;;
일단 cocos2d-x 직접 수정하지 않고 개발을 하기로 했기에 있는 그대로 쓰다보니 이렇네요. 저같은 상황이 발생하신 분들 당황하시지 말라고 포스팅 해봅니다.
댓글
댓글 쓰기