2014-12-17 7 views
0

VS2012에서 정적으로 미리 컴파일 된 .lib와 연결 중이며 디버깅을 위해 해당 lib의 .pdb 파일을 사용해야합니다. 링커에서 외부 pdb 파일을 사용해야한다고 어떻게 알 수 있습니까?외부 pdb를 사용하여 링크하는 방법?

답변

1

/ZI 또는/Zi (C/C++ -> 일반 -> 디버그 정보 형식 프로젝트 설정 참조)로 정적 라이브러리를 만든 경우 $ (IntDir) vc $ (PlatformToolsetVersion) .pdb 파일이 만들어집니다 . 경로는/Fd에 의해 정의됩니다.

정적 라이브러리를 사용하는 링커는 일반적으로이 pdb 파일을 참조합니다. 실행 파일을 정적 라이브러리와 연결하고 링커가 pdb 파일을 찾을 수없는 경우

LNK4099 : 'foo.lib (foo.obj)'와 함께 PDB 'vc1xx.pdb'를 찾을 수 없습니다.)

그래서 원하는 것이 기본값입니다. 심볼에 어떤 현상이 발생하는지 자세히 보려면 ​​링크를 켜십시오.

Microsoft는 항상 정적 라이브러리와 동일한 방식으로 이름이 지정된 정적 라이브러리와 함께 PDB 파일을 제공합니다. 따라서 libcmt.lib와 libcmt.pdb를 찾으십시오.

관련 문제