2009-11-11 6 views
0

SDK를 업그레이드 할 때 링커 오류가 발생했습니다.링커 함수 정의의 의미는 무엇입니까?

우리가 기존의 함수 정의를 볼 수있는 lib 디렉토리 파일 내부에서 찾고 있었다 : 새로운 lib 디렉토리 파일이 동일한 기능의 약간 다른 정의가 그러나

[email protected]@[email protected]@[email protected] 

:

[email protected]@[email protected]@[email protected] 

변경은 G 대신 _W입니다.

이 문자열이 실제로 무엇을 나타내는 지 모르겠습니다. 컴파일러가 문자열 내에서 컴파일 시간 구성을 나타내는 것으로 가정합니다. 나 맞아?

답변

2

undname.exe를 사용해보십시오 vc \ bin 디렉토리. 문자열에 맞지 않지만 어쩌면 다른 버전의 Visual Studio를 사용하고 있습니다. 2008 년을 사용하고 있습니다.

+1

실제로, 나는 그것을 시도하고 추가 했는가? 함수 정의의 시작 부분에. 그 정의는 원래 unsigned short를 기대하며 wchar_t를 기대하고 있음을 보여주었습니다. 컴파일러 언어 옵션 "wchar_t를 내장 유형으로 처리"를 Yes로 변경하여 연결을 수정했습니다. 많은 감사 –

0

아마도 .lib 정의에서 변경된 매개 변수를 찾는 방법이있을 수 있습니다. 그러나 패스 코드를 다시 컴파일하여 소스 코드의 헤더 또는 인터페이스 정의를보고 소스 코드를 변경하는 것이 가장 좋은 방법 일 것입니다.

0

컴파일러는 함수의 매개 변수와 반환 유형을 나타냅니다. 따라서 lib 파일의 함수에는 사용중인 .h 파일의 함수 정의와 다른 매개 변수 집합이 있습니다.

관련 문제