Visual Studio에서 .lib로 컴파일하면 성공하지만 .exe로 컴파일하면 linking error가 나는 문제
글쓴이: 나그네나그네 / 작성시간: 목, 2013/02/07 - 7:55오후
제목 그대로입니다
Visual Studio에서 .lib로 컴파일하면 성공하지만 .exe로 컴파일하면 linking error가 나는 경우가 가끔씩 발생합니다.
주로 나오는 에러꼴은 다음과 같습니다.
DataSet.obj : error LNK2001: "public: void __thiscall Trie<int>::clear(void)" (?clear@?$Trie@H@@QAEXXZ) 외부 기호를 확인할 수 없습니다. </cite> 무엇이 문제인지 전혀 모르겠습니다 -_-; 이 경우엔, Trie.h에 클래스의 스켈레톤이 대충 정의 되어 있고, Trie.cpp에 메소드들을 채워넣은 다음, DataSet.cpp에서 Trie.h를 include해서 사용했을 때 뜨는 경우입니다. 만약 링킹이 잘 안 되었다면 .lib를 만드는 시점에서 이미 에러가 떠야 하는건 아닌지.. 혹시 비슷한 경험 해 보신 분? 어떤 부분에서 잘못되었는지 유추 가능할까요.
Forums:
Trie.h에 정의된 함수가 혹시 inline으로
Trie.h에 정의된 함수가 혹시 inline으로 선언되어있나요? 그렇다면 inline을 지워보세요.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
.lib 는 원래 일부 함수나 변수 구현이 빠져
.lib 는 원래 일부 함수나 변수 구현이 빠져 있어도 잘 만들어 집니다.
======== 서명 =======
주거지는 www.indidev.net 입니다.
댓글 달기