我们知道qmake是Qt最原生的跨平台编译工具。由于一些原因,在Ubuntu手机14.10上,广泛使用CMake以跨不同平台。事实上,在Qt Creator上,如果我们使用qmake,我们可以更加方便地管理我们的项目。比如:
-我们可以在项目中使用点击右鼠标键来添加或删除文件。在CMake项目中,我们只能进行添加的动作
-在新的模版中加入了使用“main()”的入口,这样可以很方便地让我们的项目编译成为binary。对那些希望把自己的代码进行保护的开发者来说,这无疑是个好的方案
-对文件的部署来说,qmake比CMake方便得多。开发者们可以研究一下项目管理文件.pro
注意:开发者也可以在14.10的Desktop上创建qmake项目,但是它的运行必须是在15.04的目标上(比如15.04的手机或15.04的模拟器上)。当然生产的click包可以除外(只要没有使用Qt 5.4中的新的features)。注:15.04系统使用的Qt 5.4,14.10使用的是Qt 5.3。
1)创建一个最基本的QML qmake项目
打开SDK,并按照如下的步骤来创建项目:
我们可以和以前一样的方法来运行我们的项目 (使用热键 Ctrl + R):
删除文件:
在14.10的armhf Kit下运行qmake项目:
在15.04的手机中运行:
click文件包的内容如下:
在上面的包中,我们可以看到有“Main.qml”文件在其中。也就是说,任何人可以获取这个内容只有把click进行重新打开即可。
创建的源码在: git clone https://gitcafe.com/ubuntu/qmaketest.git
2)创建一个QtQuick的应用
利用同样的方法,我们使用SDK按照一下的方式:
我们可以看出来在项目中有一个叫做“main.cpp”文件。
#include <QGuiApplication> #include <QQmlApplicationEngine> #include <QQuickView> int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QQuickView view; view.setSource(QUrl(QStringLiteral("qrc:///Main.qml"))); view.setResizeMode(QQuickView::SizeRootObjectToView); view.show(); return app.exec(); }
这个文件用来启动我们的QML文件“Main.qml”。整个的QML文件被放置于一个叫做“qtquicktest.qrc”的资源文件中。这个文件将被变成最终binary的一部分,而不被其它文件看见。
最终的生产文件为qtquicktest。这个在“qtquicktest.pro”中被定义:
TEMPLATE = app TARGET = qtquicktest
我们可以把最终的click包的内容展开如下:
在这里,我们可以看到一个叫做“./lib/arm-linux-gnueabihf/bin/qtquicktest”文件。这个就是我们的执行文件。我们看不见任何的QML文件。运行应用:
所有的源码在: git clone https://gitcafe.com/ubuntu/qtquicktest.git