我正在使用一个相当广泛的C ++项目。只是为了踢,我想我会尝试一个非常简单的swig示例,它只使用项目中的头来构建一个python模块。
Swig正常运行并创建了一个project_wrap.cxx文件。但是,当我尝试使用我的项目的其余部分编译和链接该文件时,我遇到了错误:
它们似乎主要与MS COLeDateTime相关:
Error 14 error C2061: syntax error : identifier 'COleDateTime'
由声明产生,例如:
void SetStartTime (COleDateTime dt ) {m_simstart_time = dt; }
或者来自IntelliSense:
194 IntelliSense: identifier "COleDateTime" is undefined
我认为解决方法是使用windows.i文件,但有没有人有一些提示/经验/示例?
答案 0 :(得分:2)
添加
%{
#include "the_coledatetime_header.h" // whatever the header is
%}
到你的.i
#include将添加到project_wrap.cxx&应该编译。 查看http://www.swig.org/Doc2.0/SWIGDocumentation.html#Preprocessor_delimiters了解详情。