2012-01-05 4 views
2

Visual Studio 2010 Premium을 사용합니다. 두 가지 프로젝트가있는 솔루션이 있습니다. 하나는 주요 프로젝트이고 두 번째 프로젝트는 테스트를 수행합니다. 내 작업은 64 비트 플랫폼 용 메인 프로젝트를 빌드하고 테스트 프로젝트가 여전히 32 비트 플랫폼 용으로 빌드 된 동안 테스트가 성공적인지 확인하는 것입니다.DLL 관련 : 오류 LNK2001 : 확인되지 않은 외부 기호

테스트 프로젝트는 주 프로젝트가 출력하는 DLL 파일에 의존하는 EXE 파일을 출력합니다.

주 프로젝트와 64 비트 플랫폼 용 테스트 프로젝트를 모두 빌드하면 모든 것이 잘됩니다. 나는 64 비트를위한 주요 프로젝트를 빌드하고 32 비트에 대한 테스트 프로젝트를 만들려고하면 내가받을 다음과 같은 오류 유형 :

오류 LNK2001 : 확인되지 않은 외부 기호

오류 LNK2019 : 확인되지 않은 외부 기호

오류는 기본 프로젝트의 헤더 파일 중 일부에서 선언 된 함수를 참조합니다.

32 비트 빌드에서 64 비트 DLL 파일을 사용하려고하기 때문에 그렇습니까? 고칠 수 있습니까? 두 프로젝트가 모두 64 비트 플랫폼 용으로 빌드 된 경우 모든 것이 올바르게 작동합니다.

편집 :

오류 LNK2019 : 확인되지 않은 외부 기호 "__declspec (같이 DllImport) 공개 : 더 구체적으로, 내가 얻을 1 오류 라인의 접두사 복사거야 ... __thiscall을

답변

1

맞습니다. 문제는 64 비트 라이브러리를 32 비트 응용 프로그램에 연결하는 것과 관련이 있습니다. 라이브러리 (32 비트 및 64 비트)를 두 가지 버전으로 빌드해야합니다. 두 가지 버전의 응용 프로그램을 사용하십시오.

관련 문제