반응형
라이브러리를 추가하고 어떤 클래스를 사용하는데 특정 멤버 함수에서만 LNK2019 에러가 떴다.
이 에러는 보통 함수의 선언과 정의가 뭔가 매칭되지 않을 때 뜨는 것으로 알고 있다.
특정 멤버 함수만 뜨기 때문에 프로젝트 세팅 문제는 아닌 것 같았다.
뭔가 인자 타입이 선언과 정의가 다른건가 의심하고 있었다.
(아주 옛날 라이브러리고 beta 버전이라 써져 있었음)
그래서 혹시 lib 파일 내용을 볼 수 있는지 찾다가 dumpbin이라는 것을 이용해 lib 파일 내에 있는 함수 시그니처 정보를 볼수 있다는 것을 알았다.
그래서 아래 방법으로 확인해 보았는데 실제로 내가 가지고 있는 헤더에 선언된 함수의 인자랑 lib 파일 내의 인자랑 달랐고 헤더 수정하니 컴파일 잘된다. (문자열 타입이 상이했음)
사용법
1. 다음 경로에 있는 4개의 프롬프트 중 4번 째 것을 관리자 권한으로 실행한다.
(다 되는지는 모르겠지만 나는 4번째 걸로만 해보았다)
2. 관리자 권한으로 실행하면 현재 위치가 System32로 뜬다.(나의 경우에) 이 폴더에 보고 싶은 lib 파일을 복사해둔다.
그리고 다음의 명령어를 입력한다.
dumpbin /symbols /exports xxx.lib > xxx.txt
-> xxx.lib 파일의 내용을 xxx.txt 파일에 작성&생성해준다.
'C,C++ > Debugging things' 카테고리의 다른 글
Visual studio 디버거 덤프 파일 생성 (0) | 2023.10.08 |
---|---|
윈도우 메모리 릭 디버깅 슬라이드셰어 (0) | 2021.10.04 |
[C++] CRT 라이브러리로 디버깅 시 메모리 누수 찾기 (0) | 2020.02.17 |
[c++] Visual studio 2019 환경에서 디버깅 하기 / debugging, memory, disassemble, 디버그, 디버거 (0) | 2019.10.15 |
댓글