2
libxml2
라이브러리를 VS 2012 컴파일 및 연결하여 DDK 7
헤더 및 라이브러리와 연결하려고합니다. VS 2005로 그것은 괜찮지 만 VS 2012와 함께, 나는 링커 오류가 나타납니다. 생성 된 기호 정밀 조사에 - VS 2012와 각각 동일한 기능을위한 VS 2005 VS 2005링커 오류 (VS 2005 vs VS 2012)
, VS 2012 년
Found __imp___vsnprintf
Referenced in error.obj
Referenced in xmlreader.obj
Referenced in xmlwriter.obj
Referenced in xmlstring.obj
Loaded msvcrt.lib(msvcrt.dll)
,
__imp__vsnprintf
error.obj : error LNK2019: unresolved external symbol __imp__vsnprintf
referencedin function ___xmlRaiseError
xmlreader.obj : error LNK2001: unresolved external symbol __imp__vsnprintf
xmlwriter.obj : error LNK2001: unresolved external symbol __imp__vsnprintf
xmlstring.obj : error LNK2001: unresolved external symbol __imp__vsnprintf
,
__imp___vsnprintf
합니다 (공지 사항 VS 2005에서
vsnprintf
전에 여분
_
표시). 빌드 로그에서 VS 2005 및 VS 2012에 대한 컴파일러 및 링커 옵션을 살펴 보았습니다. 둘 다 동일합니다. 컴파일러에
showIncludes
옵션이 전달되면 VS 2005와 VS 2012 모두에서 소스 파일에 사용 된 헤더 세트와 똑같은 세트가 표시됩니다.
VS 2012의 심볼 생성이 다른 이유는 무엇입니까? 컴파일과 링크시 기본 헤더와 libs를 사용하여 문제를 해결하는 방법은 무엇입니까?
감사합니다.
모든 라이브러리가 동일한 RuntimeLibrary (DLL, MT/ST, Debug/Release) 매개 변수로 빌드되었는지 확인 했습니까? 또한 어떤 버전의 MSVCRT.lib와 연결하고 있습니까? –
@MichaelSh'/ MD','/ D NDEBUG'를 사용하여 컴파일. 그리고'msvcrt.lib'는'DDK 7/lib/wxp'에서 사용 가능합니다. – Mahesh
VS2012가 설치된 폴더에서 msvcrt.lib을 사용해보십시오 –