使用MetaSIP自动生成SIP封装C++到Python接口

    利用SIP将C++封装为Python,SIP采用手动书写,但对于比较庞大的工程手动书写sip文件就显得很苍白无力。QT利用MetaSIP这款工具生成sip文件,然后手动修改部分SIP文件,然后利用python书写 configuer.py配置文件生成Makefile文件,最后执行Make脚本将C++生成为Python。下面主要介绍MetaSIP安装以及配置 过程,以及利用如何利用MetaSIP生成SIP。

1.安装

1)  所需软件

MetaSIP、Python3.x、Qt4、PyQt4、dip、sip、QScintilla2、GCCXML、cmake、mingw

MetaSIP下载地址:http://www.riverbankcomputing.com/hg/

PyQt4、sip、QScintilla2均可以到http://www.riverbankcomputing.com/news下载

dip一定要采用http://www.riverbankcomputing.com/hg/的版本

GCCXML到http://gccxml.github.io/HTML/Index.html下载

2)安装

MetaSIP只支持Python3.x,在安装其之前保证Python3.x和QT安装

 a.  安装SIP(参照上篇利用sip封装C++)

 b.  安装PyQt4

python configure.py

make

make install

c. 安装QScintilla2

cd Qt4Qt5
qmake qscintilla.pro
make
make install

d. 安装dip

启动命令行工具,进入dip目录

make

pythonsetup.py install

注意:执行python setup.py install时,如果报如下错误


则查看dip目录下是否有VERSION文件(一般报错是没有的^_^),则新建一个VERSION,内容为56a217326678

e. 安装GccXml

GccXml的编译需要借助Cmake,安装时需要提前安装CMake,然后执行下面命令:

cmake ../gccxml -DCMAKE_INSTALL_PREFIX:PATH=/installation/path

make

make instal

f. 安装MetaSIP

make

makeinstall

注意:编译时候,如果报如下错误



则在MetaSIP目录下创建VERSION文件,其内容为b009740bb135

如上步骤,MetaSIP就安装完成了,启动命令窗口,msip -h,弹出以下窗口,则说明MetaSIP安装完成

使用MetaSIP自动生成SIP封装C++到Python接口_第1张图片

2.利用MetaSIP生成SIP

启动命令窗口,输入 msip回车,则弹出以下窗口:

使用MetaSIP自动生成SIP封装C++到Python接口_第2张图片

Edit中依次设置ModulesPlatformsVersions(Linux下不好截图有部分图片是window下截图)

使用MetaSIP自动生成SIP封装C++到Python接口_第3张图片


点击New按钮,新建一个工程,并且选择上述步骤所设置的版本

使用MetaSIP自动生成SIP封装C++到Python接口_第4张图片

然后如下图所示依次设置下面项

使用MetaSIP自动生成SIP封装C++到Python接口_第5张图片

点击update按钮,然后点击scan按钮,将会扫描指定目录下的所有头文件,扫描后的结果如下所示:

使用MetaSIP自动生成SIP封装C++到Python接口_第6张图片

选中具体头文件,File Header部分就会高亮,如下图所示

使用MetaSIP自动生成SIP封装C++到Python接口_第7张图片


点击update按钮,然后点击parse按钮,就会将选中的头文件的类以及相关变量、命名空间等解析出来,如下图所示

使用MetaSIP自动生成SIP封装C++到Python接口_第8张图片

在具体的类以及函数上单击右键,将Uncheck设置为check,然后保存文件,文件的后缀名为*.msp

启动命令窗口,进入*.msp文件所在目录,执行以下命令:

msip -g dir *.msp

dir:SIP文件生成目录

*.msp:msp文件路径

到此SIP文件则已经生成,只需要按照上篇文章所述,生成Python即可!


你可能感兴趣的:(python,SIP,metasip)