해당 헤더 파일을 사용하여 SWIG를 통해 DLL을 래핑하려고합니다. SWIG를 사용하여 인터페이스 .i 파일을 처리하는 동안 구문 오류가 발생합니다. 나는 최소 비 처리 가능한 꿀꺽 꿀꺽 인터페이스 파일이 발견 일으키는 라인 (실제 문제가되는 라인과 일치하지 않습니다 꿀꺽 꿀꺽 오류 메시지가 인쇄의 행 번호)가 무엇인지 추적 후 :함수 유형 "extern __declspec (dllimport) INT __cdecl"은 C/C++ 또는 SWIG에서 의미가 있습니까?
/* example.i */
%module example
%{
extern __declspec(dllimport) INT __cdecl function(int argument);
%}
extern __declspec(dllimport) INT __cdecl function(int argument);
어디 프로토 타입을 tern extern __declspec(dllimport) INT __cdecl function(int argument);
은 랩하려고했던 헤더 파일에서 가져 왔습니다.
이 유형으로 선언 된 함수는 수십 가지입니다. 당신이 볼 수 있듯이 나는이 유형이 의미가 있는지를 알 수있는 충분한 C 경험을 가지고 있지 않습니다. 헤더 파일은 공급 업체로부터 왔으며 Visual C++ 6을 사용하여 OK 파일을 컴파일합니다. 누군가 나를 명확하게 할 수 있습니까?
meh, RTFM! swig/docs/manual/windows.html "Windows에서 SWIG를 사용할 때 일반적인 문제는 C++ 표준에없는 Microsoft 함수 호출 규칙입니다 .SWIG는 ISO C/C++를 구문 분석하므로 다음과 같은 독점적 인 규칙을 처리 할 수 없습니다. __declspec (dllimport), __stdcall 등이 있습니다. Windows 인터페이스 파일 windows.i가 이러한 호출 규칙을 처리합니다. 파일에는 __int64, BOOL, DWORD 등 일반적으로 사용되는 Windows 관련 유형을 처리하기위한 typemap이 포함되어 있습니다 다른 인터페이스 파일처럼. " –