2012-11-27 2 views
0

저는 상당히 광범위한 C++ 프로젝트를 사용하고 있습니다. 그냥 킥을 위해, 나는 프로젝트의 헤더를 사용하여 파이썬 모듈을 만드는 아주 간단한 예제를 시도 할 것이라고 생각했다.Python 용 COLeDateTime을 사용하여 swig 확장자 컴파일

Swig가 제대로 실행되었고 project_wrap.cxx 파일이 생성되었습니다. 내가 컴파일하고 내 프로젝트의 나머지와 함께 해당 파일을 링크 할 때 그러나, 나는 오류로 실행하고 있습니다 : 그것은 보인다

들이 MS COLeDateTime에 주로 관련이 있습니다

Error 14 error C2061: syntax error : identifier 'COleDateTime' 

를 선언 등으로 인한

void SetStartTime  (COleDateTime dt ) {m_simstart_time = dt; } 

또는 인텔리에서 :로

194 IntelliSense: identifier "COleDateTime" is undefined 

나는 홍보 그 해결 방법은 windows.i 파일을 사용하는 것이지만, 이에 대한 팁/경험/예제가있는 사람이 있습니까? 당신이 & 컴파일해야 project_wrap.cxx에

답변

2

당신의 .I 사용법 #include가 추가됩니다

%{ 
    #include "the_coledatetime_header.h" // whatever the header is 
%} 

를 추가합니다. 자세한 내용은 http://www.swig.org/Doc2.0/SWIGDocumentation.html#Preprocessor_delimiters을 확인하십시오.

+0

감사합니다. 직접 해결하지 못했지만 주 프로젝트 헤더의 #include 지시문을 대부분 포함하도록 선택하면 빌드가 더 진행됩니다 ... 아직 정의되지 않은 변수 'temp SWIG가 랩 코드 (wrap code)를 사용하고 있지만, 어디서나 글로벌이라는 정의는 없습니다. – John