Qt for Windows:静态发布QML开发的程序

概述


之前写了一篇,讲如何静态编译Qt5.9.0,链接如下:

http://blog.csdn.net/wsj18808050/article/details/72862478

现在趁热打铁,再说下如何以静态方式,发布QML程序。

其实静态发布Quick/QML程序,大体上和静态发布Widgets差不多,只不过QML部分的一些库文件,是无法静态编译的,毕竟都称不上C++。

注意,本文中用到的套件是5.9.0静态编译,MinGW版本


整理QML库文件


这些QML库文件都存储在一个qml目录,在我电脑上那就是 C:\Qt\Qt5.9.0_MinGW_static\qml。如下图,在 C:\Qt\Qt5.9.0_MinGW_static\qml\QtQuick\Controls.2 中存储的就是Controls2库依赖的一些QML文件。

Qt for Windows:静态发布QML开发的程序_第1张图片

我们要做的,就是把这所有的qml库文件,添加到qrc中,再设置一下QQmlApplicationEngine的importPath就行了。

我新建一个Controls2的工程,并且把qml目录完整的拷贝了过来。记得删除qml目录中的.a文件,我们这里不需要这些静态库。

Qt for Windows:静态发布QML开发的程序_第2张图片

删除完.a文件后,qml文件夹中有725个文件,3.5MB大小。看起来还可以,全部添加到qrc里。

Qt for Windows:静态发布QML开发的程序_第3张图片

当然这里我们不能手动一个个加,太麻烦了,右键qrc文件,选择 Add Existing Directory ,选择qml目录,这样整个qml目录已经里面所有文件夹,都被递归添加到qrc里面了。

Qt for Windows:静态发布QML开发的程序_第4张图片

添加后效果如下:

Qt for Windows:静态发布QML开发的程序_第5张图片

回到main.cpp,再添加一行

engine.addImportPath( ":/qml/" );

效果如下:

Qt for Windows:静态发布QML开发的程序_第6张图片

选择release编译,得到exe文件


运行exe


在Win10中运行,看起来没有问题
Qt for Windows:静态发布QML开发的程序_第7张图片

拷贝到纯净Win7中运行,也没问题
Qt for Windows:静态发布QML开发的程序_第8张图片

你可能感兴趣的:(Qt,for,Windows)