利用SIP将C++封装为Python,SIP采用手动书写,但对于比较庞大的工程手动书写sip文件就显得很苍白无力。QT利用MetaSIP这款工具生成sip文件,而后手动修改部分SIP文件,而后利用python书写 configuer.py配置文件生成Makefile文件,最后执行Make脚本将C++生成为Python。下面主要介绍MetaSIP安装以及配置 过程,以及利用如何利用MetaSIP生成SIP。html
1.安装python
1) 所需软件git
MetaSIP、Python3.x、Qt四、PyQt四、dip、sip、QScintilla二、GCCXML、cmake、mingwgithub
MetaSIP下载地址:http://www.riverbankcomputing.com/hg/shell
PyQt四、sip、QScintilla2都可以到http://www.riverbankcomputing.com/news下载函数
dip必定要采用http://www.riverbankcomputing.com/hg/的版本工具
GCCXML到http://gccxml.github.io/HTML/Index.html下载spa
2)安装命令行
MetaSIP只支持Python3.x,在安装其以前保证Python3.x和QT安装code
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安装完成
2.利用MetaSIP生成SIP
启动命令窗口,输入 msip回车,则弹出如下窗口:
在Edit中依次设置Modules、Platforms、Versions(Linux下很差截图有部分图片是window下截图)
点击New按钮,新建一个工程,而且选择上述步骤所设置的版本
而后以下图所示依次设置下面项
点击update按钮,而后点击scan按钮,将会扫描指定目录下的全部头文件,扫描后的结果以下所示:
选中具体头文件,File Header部分就会高亮,以下图所示
点击update按钮,而后点击parse按钮,就会将选中的头文件的类以及相关变量、命名空间等解析出来,以下图所示
在具体的类以及函数上单击右键,将Uncheck设置为check,而后保存文件,文件的后缀名为*.msp
启动命令窗口,进入*.msp文件所在目录,执行如下命令:
msip -g dir *.msp
dir:SIP文件生成目录
*.msp:msp文件路径
到此SIP文件则已经生成,只须要按照上篇文章所述,生成Python便可!