[Visual Studio] LNK2019 함수에서 참조되는 확인할 수 없는 외부기호
설명
보통 솔류션 파일을 직접 만들어 작업하지 않고 복사 붙여넣을 때 발생하는 오류다.
발생과정
- MyQueue.h에 클래스 구현
- Alt Enter로 함수 구현 하려 했으나 h에 생성이 됨
- 직접 cpp파일을 만들고 구현.
- 빌드 오류
해결과정
아마 cpp파일을 복사 붙여넣기 하여 만든것이 원인이라 생각하여 참조 디렉터리를 확인해보기로 했다. 하지만 생각해보니 하나의 프로제그에 모두 있으므로 이 것은 아니라고 생각되었고 다른 방법을 생각했다.
내 문법이 이상해서 이런건가 생각하고 다른 블로그에 있는 예제들을 복사 붙여넣기해서 확인 해본 결과 선언과 구현을 h파일에서 모두 했을 경우에만 작동 되는 것을 확인했다.
알고보니 템플릿 클래스를 h파일, cpp파일로 나눠서 구현한 것이 문제였다.
원인
- main 함수 정의하기
- 정의되지 않은 변수, 함수 정의하기
- x86, x64가 혼합되었거나 잘못 선택 되었을 경우
빌드가 32비트인지 64비트인지 확인하기
댓글남기기