2013-01-12 1 views
-1

는 클래스 A는 두 가지 방법으로 다음과 같은 DLL 라이브러리 (CPP의 구현이)의 헤더 파일에 정의되어 가정 : 내 응용 프로그램에서 라이브러리를 사용하려고dllimport와 표시기의 차이점은 무엇입니까?

class __declspec(dllimport) A {...}; 

class A {...}; 

, 내가 처음 하나를 찾을 작동하지 않습니다. 왜? dllimport와 함께 작동하도록하는 방법은 무엇입니까? 감사.

+0

더 완벽한 예제를 게시하고 "작동하게하십시오"(또는 "작동하지 않는 것") 의미하는 것을 설명하고 싶을 것입니다. –

답변

0

두 개의 밑줄이있는 __declspec(import)입니다.

그 외에도 사용중인 라이브러리가 다른 버전의 Visual Studio로 컴파일 된 경우 가져 오기를 시도하는 심볼을 찾지 못할 수 있습니다.

Visual Studio의 한 버전으로 컴파일 된 라이브러리는 잠재적 인 ABI 변경으로 인해 다른 버전의 Visual Studio로 컴파일 된 라이브러리와 연결할 수 없다고 가정해야합니다.

DLL을 연결하려는 응용 프로그램과 동일한 버전의 Visual Studio를 사용하여 DLL을 컴파일해야합니다.

관련 문제