2012-11-27 74 views
0

我有一個相當廣泛的C++項目,我正在使用。只是爲了踢,我想我會嘗試一個簡單的swig示例,它只使用項目中的頭部來構建python模塊。使用COLeDateTime編譯swig擴展python

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 

我PR esume的解決方法是與windows.i文件一起工作,但沒有人有這方面的一些技巧/經驗/例子嗎?

回答

2

添加

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

你。我

中的#include將被添加到您project_wrap.cxx &應該編譯。 檢查http://www.swig.org/Doc2.0/SWIGDocumentation.html#Preprocessor_delimiters瞭解更多信息。

+0

謝謝,這並沒有直接解決它,但似乎如果我選擇從主項目頭包括大部分#include指令,生成進一步...我仍然有一個未定義的變量的問題'溫度「SWIG正在使用它的包裝代碼,但在全球範圍內沒有任何定義。 – John