Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Visual C++ - error LNK2001: unresolved external symbol _CrtDbgReport

x64 + Debug 빌드로 잘 되던 것을, "Configuration Properties" / "C/C++" / "Code Generation" - "Runtime Library" == "Multi-threaded (/MT)" 설정으로 바꾸면 다음과 같은 링크 오류가 발생합니다.

1>libcpmtd.lib(xlocale.obj) : error LNK2001: unresolved external symbol _CrtDbgReport
1>ConsoleApplication1.obj : error LNK2001: unresolved external symbol _CrtDbgReport
1>libcpmtd.lib(cout.obj) : error LNK2001: unresolved external symbol _CrtDbgReport
1>libcpmtd.lib(locale.obj) : error LNK2001: unresolved external symbol _CrtDbgReport
1>libcpmtd.lib(wlocale.obj) : error LNK2001: unresolved external symbol _CrtDbgReport
1>libcpmtd.lib(wlocale.obj) : error LNK2001: unresolved external symbol _free_dbg
1>libcpmtd.lib(xlocale.obj) : error LNK2001: unresolved external symbol _free_dbg
1>libcpmtd.lib(xwcsxfrm.obj) : error LNK2001: unresolved external symbol _free_dbg
1>libcpmtd.lib(StlCompareStringA.obj) : error LNK2001: unresolved external symbol _free_dbg
1>libcpmtd.lib(cout.obj) : error LNK2001: unresolved external symbol _free_dbg
1>libcpmtd.lib(locale0.obj) : error LNK2001: unresolved external symbol _free_dbg
1>libcpmtd.lib(locale.obj) : error LNK2001: unresolved external symbol _free_dbg
1>libcpmtd.lib(StlLCMapStringA.obj) : error LNK2001: unresolved external symbol _free_dbg
1>libcpmtd.lib(wlocale.obj) : error LNK2001: unresolved external symbol _malloc_dbg
1>libcpmtd.lib(xlocale.obj) : error LNK2001: unresolved external symbol _malloc_dbg
1>libcpmtd.lib(xwcsxfrm.obj) : error LNK2001: unresolved external symbol _malloc_dbg
1>libcpmtd.lib(StlCompareStringA.obj) : error LNK2001: unresolved external symbol _malloc_dbg
1>libcpmtd.lib(cout.obj) : error LNK2001: unresolved external symbol _malloc_dbg
1>libcpmtd.lib(locale0.obj) : error LNK2001: unresolved external symbol _malloc_dbg
1>libcpmtd.lib(locale.obj) : error LNK2001: unresolved external symbol _malloc_dbg
1>libcpmtd.lib(StlLCMapStringA.obj) : error LNK2001: unresolved external symbol _malloc_dbg
1>libcpmtd.lib(_tolower.obj) : error LNK2019: unresolved external symbol _calloc_dbg referenced in function _Getctype
1>libcpmtd.lib(locale.obj) : error LNK2001: unresolved external symbol _calloc_dbg
1>libcpmtd.lib(wlocale.obj) : error LNK2001: unresolved external symbol _calloc_dbg
1>libcpmtd.lib(xlocale.obj) : error LNK2001: unresolved external symbol _calloc_dbg
1>libcpmtd.lib(_tolower.obj) : error LNK2019: unresolved external symbol _wcsdup_dbg referenced in function _Getctype
1>libcpmtd.lib(xstrcoll.obj) : error LNK2001: unresolved external symbol _wcsdup_dbg
1>libcpmtd.lib(locale.obj) : error LNK2019: unresolved external symbol _realloc_dbg referenced in function "private: static void __cdecl std::locale::_Locimp::_Locimp_Addfac(class std::locale::_Locimp *,class std::locale::facet *,unsigned __int64)" (?_Locimp_Addfac@_Locimp@locale@std@@CAXPEAV123@PEAVfacet@23@_K@Z)
1>libcpmtd.lib(StlLCMapStringA.obj) : error LNK2019: unresolved external symbol _CrtDbgReportW referenced in function _freea_crt
1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol _CrtDbgReportW
1>libcpmtd.lib(StlCompareStringA.obj) : error LNK2001: unresolved external symbol _CrtDbgReportW
1>E:\temp\debug_release\ConsoleApplication1\x64\Debug\ConsoleApplication1.exe : fatal error LNK1120: 7 unresolved externals

물론 다시 "/MTd"로 바꾸면 괜찮겠지만 /MT 상태에서 위의 오류를 벗어나려면 "Configuration Properties" / "C/C++" / "Preprocessor" - "Preprocessor Definitions" 설정에서 "_DEBUG" 상수 정의를 빼면 됩니다.

(참고로, x86 + Debug 빌드에서는 "Multi-threaded (/MT)"로 바꿔도 오류가 발생하지 않습니다.)




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 11/19/2020]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 61  62  63  64  65  66  67  68  69  [70]  71  72  73  74  75  ...
NoWriterDateCnt.TitleFile(s)
12181정성태3/11/202019414기타: 76. 재현 가능한 최소한의 예제 프로젝트란? - 두 번째 예제파일 다운로드1
12180정성태3/10/202015891오류 유형: 600. "Docker Desktop for Windows" - EXPOSE 포트가 LISTENING 되지 않는 문제
12179정성태3/10/202027640개발 환경 구성: 481. docker - PostgreSQL 컨테이너 실행
12178정성태3/10/202019672개발 환경 구성: 480. Linux 운영체제의 docker를 위한 tcp 바인딩 추가 [1]
12177정성태3/9/202018909개발 환경 구성: 479. docker - MySQL 컨테이너 실행
12176정성태3/9/202018423개발 환경 구성: 478. 파일의 (sha256 등의) 해시 값(checksum) 확인하는 방법
12175정성태3/8/202018400개발 환경 구성: 477. "Docker Desktop for Windows"의 "Linux Container" 모드를 위한 tcp 바인딩 추가
12174정성태3/7/202017849개발 환경 구성: 476. DockerDesktopVM의 파일 시스템 접근 [3]
12173정성태3/7/202019149개발 환경 구성: 475. docker - SQL Server 2019 컨테이너 실행 [1]
12172정성태3/7/202023695개발 환경 구성: 474. docker - container에서 root 권한 명령어 실행(sudo)
12171정성태3/6/202018822VS.NET IDE: 143. Visual Studio - ASP.NET Core Web Application의 "Enable Docker Support" 옵션으로 달라지는 점 [1]
12170정성태3/6/202016845오류 유형: 599. "Docker Desktop is switching..." 메시지와 DockerDesktopVM CPU 소비 현상
12169정성태3/5/202019339개발 환경 구성: 473. Windows nanoserver에 대한 docker pull의 태그 사용 [1]
12168정성태3/5/202020512개발 환경 구성: 472. 윈도우 환경에서의 dockerd.exe("Docker Engine" 서비스)가 Linux의 것과 다른 점
12167정성태3/5/202018987개발 환경 구성: 471. C# - 닷넷 응용 프로그램에서 DB2 Express-C 데이터베이스 사용 (3) - ibmcom/db2express-c 컨테이너 사용
12166정성태3/4/202019352개발 환경 구성: 470. Windows Server 컨테이너 - DockerMsftProvider 모듈을 이용한 docker 설치
12165정성태3/2/202018335.NET Framework: 900. 실행 시에 메서드 가로채기 - CLR Injection: Runtime Method Replacer 개선 - 네 번째 이야기(Monitor.Enter 후킹)파일 다운로드1
12164정성태2/29/202019456오류 유형: 598. Surface Pro 6 - Windows Hello Face Software Device가 인식이 안 되는 문제
12163정성태2/27/202017784.NET Framework: 899. 익명 함수를 가리키는 delegate 필드에 대한 직렬화 문제
12162정성태2/26/202021602디버깅 기술: 166. C#에서 만든 COM 객체를 C/C++로 P/Invoke Interop 시 메모리 누수(Memory Leak) 발생 [6]파일 다운로드2
12161정성태2/26/202017606오류 유형: 597. manifest - The value "x64" of attribute "processorArchitecture" in element "assemblyIdentity" is invalid.
12160정성태2/26/202018086개발 환경 구성: 469. Reg-free COM 개체 사용을 위한 manifest 파일 생성 도구 - COMRegFreeManifest
12159정성태2/26/202015156오류 유형: 596. Visual Studio - The project needs to include ATL support
12158정성태2/25/202017711디버깅 기술: 165. C# - Marshal.GetIUnknownForObject/GetIDispatchForObject 사용 시 메모리 누수(Memory Leak) 발생파일 다운로드1
12157정성태2/25/202017802디버깅 기술: 164. C# - Marshal.GetNativeVariantForObject 사용 시 메모리 누수(Memory Leak) 발생 및 해결 방법파일 다운로드1
12156정성태2/25/202016359오류 유형: 595. LINK : warning LNK4098: defaultlib 'nafxcw.lib' conflicts with use of other libs; use /NODEFAULTLIB:library
... 61  62  63  64  65  66  67  68  69  [70]  71  72  73  74  75  ...