移植Qt程序到surface RT

             移植Qt程序到surface RT

1. 编译Qt

Surface的操作系统是基于ARM架构的windows RT,所以需要编译出基于相应平台的Qt库。

1.1编译环境

        Win8.1操作系统

      Visual studio 2013

1.2 编译

Qt官网下载Qt源码qt-everywhere-opensource-src-5.3.2.zip,解压。阅读文件夹中的README文件,会知道相应配置。还需下载并安装Perl (5.12以上)Python (2.7以上)Ruby (1.9.3以上),注意添加它们的安装路径到环境变量PATH中。

打开visual studio 2013的命令提示工具,进入到解压后的Qt源码文件夹下qt-everywhere-opensource-src-5.3.2,先输入命令Configure –help,会知道Configure的相应参数,配置编译选项,然后输入命令nmake编译。如:

>configure -confirm-license -opensource -xplatform winrt-arm-msvc2013 -debug-and-release -prefix "F:\winrt-arm" -qt-zlib -qt-libpng -qt-libjpeg -qt-freetype -no-qml-debug -nomake tests -nomake examples -skip qtwebkit

..................

>nmake

.................................

>nmake install

-prefix参数会指定编译完成后的输出目录,必须输入命令nmake install才会把相应文件拷贝到这个目录。

 

2. 移植Qt examples

   2.1 开发工具

     Qt Cteator

     visual studio 2013

       安装完Qt  for Winrt集成开发环境后(qt-opensource-windows-x86-winrt-5.3.2.exe),打开Qt Creator添加构建器,即上面编译的Qt库,查看其它的构建器会很容易知道怎么手动添加构建器。

 

 

2.2 编译

       打开一个Qt examples程序,注意它需依赖的模块,编译的Qt库一般有QtGuiQtCoreQtWidgetsQtNetwork,选择自己添加的构建器加载。

       右键点击工程文件(.pro),从当前目录打开命令提示工具。

       输入命令,如:F:\winrt-arm\bin\qmake  -tp vc test.pro CONFIG+=windeployqt,这样会在目录下形成vs可加载的工程文件(.vcxproj)windeployqt.exe工具可在打包程序时把依赖的库一起打包,自编译的Qt库如果没有,可从其它构建器的目录下拷贝到自编译的目录(bin目录)

        用visual studio 2013打开生成的工程项目,会看到生成的工程是windows应用商店程序。开发windows应用商店程序需要开发者许可证,但首先需要microsoft账号,根据提示一步一步来即可。双击Package.appxmanifest文件,会发现包名称没有,可用visual studio 2013创建一个windows应用商店程序,然后把包名称拷贝过来。

 

       右键工程创建应用商店程序安装包,注意不要选择上传到应用商店的安装包,那需要购买账号。安装包有3个平台,x86x64arm,要选中armRelease。最后打包成功,会生成一个目录AppPackages,安装包就在其中,.ps1的文件,是powershell运行的文件。

 

 

 

3 安装

      拷贝安装包目录到surface中。

       Surface能从windows应用商店下载并同时安装程序,若要手动用安装包安装程序,需要申请开发者许可证。在搜索中搜索powershell,用管理员身份打开,然后如下图所示申请开发者许可证。

 

 

       打开安装包目录,找到.ps1文件,使它弹出右键菜单,选择用powershell打开即可。随后安装成功,可在metro界面看到该程序的快捷方式图标。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值