qml支持多平台的编译--尤其对于需要支持xp的情况
http://www.oschina.net/p/deepin-boot-maker
系统支持:
Windows平台:
Windows 7/ Windows 8
需要安装显卡驱动
Windows XP
需要安装显卡驱动
需要更新最新版本的DirectX
Direct X 环境安装包:
DirectX Redist Package 地址:
或者使用DirectX Runtime在线安装工具:
Linux平台:
Ubuntu12.04/Ubuntu14.04/Deepin 14.04
安装以下软件包
?
1
2
sudo apt-get install syslinux p7zip mtools libgl1-mesa-dri libx11-xcb1 libsm6 \
libxcb1 libfontconfig1 libxrender1 libpng12-0 libgl1-mesa-dev
Mac:
直接安装DMG文件
不支持Mac OS 10.10(可以使用命令行直接运行MacOS目录下的二进制文件)
开发指南
开发环境:Qt5.3 请注意以下事项: 1. 现有阶段代码主要为静态编译准备,qt5.3中的qtquick qml文件是直接打包在qrc文件中发布的,使用其他版本的qt可能导致兼容性问题。 2. 如需要动态编译版本,请注意修改代码相应位置,以后会做出相应支持。
Windows平台:
开发环境: Windows 7 64bit + msvc2010 + WinSDK 8.1+Qt5.3
1.如果准备支持Windows XP,请自行编译静态或者动态版本的Qt 5.3 with angle版本。编译参数:
?
1
2
3
4
5
6
set DXSDK_DIR="C:\Program Files (x86)\Windows Kits\8.0\Include\um"
configure -prefix "C:\Qt\QtStatic\5.3\vs2010" -release -platform win32-msvc2010 \
-no-qml-debug -confirm-license -opensource -static -qt-pcre -no-icu -no-sql-sqlite \
-no-nis -no-cups -no-iconv -no-dbus -nomake examples -no-sql-odbc -no-compile-examples \
-skip qtwebkit -skip qtwebkit-examples -skip qtactiveqt -no-openssl -qt-zlib \
-qt-libpng -qt-freetype -qt-libjpeg -opengl es2 -angle
注意: 1.不要编译icu,不然发布时会附带30M左右的icu支持的dll 2.静态编译版本,如果程序运行需要libegl相关dll,请自行编译angle。需要win7系统,msvc 2010。详细编译参数参考
2.如果不准备支持Windows XP,则可以使用官方版本的Qt with mingw 进行静态编译:
?
1
2
3
4
configure -prefix "D:\Qt\QtStatic\mingw5.3" -debug-and-release -platform win32-g++ \
-confirm-license -opensource -static -qt-pcre -no-icu -no-sql-sqlite -no-nis -no-cups \
-no-iconv -no-dbus -nomake examples -no-sql-odbc -no-compile-examples -skip qtwebkit \
-skip qtwebkit-examples -skip qtactiveqt -no-openssl -qt-zlib -no-angle -opengl desktop
Mac平台:
Macx 10.9 + Qt5.3
1.设置Qt路径
?
1
2
export QtInstallPath=/User/yourhome/Qt5.3/5.3/clang_64
export PATH=$QtInstallPath/bin:$PATH
2.编译
?
1
2
3
4
cd src
qmake -r deepin-boot-maker.pro
make
macdeployqt ../build/release/deepin-boot-maker.app
3.附加qml运行库
?
1
2
3
4
5
cp $QtInstallPath/qml/QtQuick/Dialogs/libdialogplugin.dylib ../build/release/deepin-boot-maker.app/Contents/MacOS/
cp $QtInstallPath/qml/QtQuick/Controls/libqtquickcontrolsplugin.dylib ../build/release/deepin-boot-maker.app/Contents/MacOS/
cp $QtInstallPath/qml/QtQuick/Window.2/libwindowplugin.dylib ../build/release/deepin-boot-maker.app/Contents/MacOS/
cp $QtInstallPath/qml/QtQuick.2/libqtquick2plugin.dylib ../build/release/deepin-boot-maker.app/Contents/MacOS/
cp $QtInstallPath/qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.dylib ../build/release/deepin-boot-maker.app/Contents/MacOS
qml支持多平台的编译--尤其对于需要支持xp的情况的更多相关文章
- [渣译文] SignalR 2.0 系列: 支持的平台
原文:[渣译文] SignalR 2.0 系列: 支持的平台 英文渣水平,大伙凑合着看吧,并不是逐字翻译的…… 这是微软官方SignalR 2.0教程Getting Started with ASP. ...
- Mac系统下编译支持Android平台的最新X264编码器
Mac系统下编译支持Android平台的最新X264编码器 原文来自 http://www.mingjianhua.com,转载请注明出处 1.首先去官网下载最新的x264源代码,解压到任意目录 ht ...
- 实战FFmpeg--编译iOS平台使用的FFmpeg库(支持arm64的FFmpeg2.6.2)
编译环境:Mac OS X 10.10.2 ,Xcode 6.3 iOS SDK 8.3 FFmpeg库的下载地址是 http://www.ffmpeg.org/releases/ . ...
- .NET支持多平台后的一点拙见
我们目前对.NET的理解大部分可以归纳为:起初它是Java平台(注意是平台,不要跟Java语言搞混淆)的一个克隆品,后来慢慢演变,有了自己的特性.由于Java平台最显著的特点就是“平台独立性”(或者说 ...
- x86平台转x64平台关于内联汇编不再支持的解决
x86平台转x64平台关于内联汇编不再支持的解决 2011/08/25 把自己碰到的问题以及解决方法给记录下来,留着备用! 工具:VS2005 编译器:cl.exe(X86 C/C+ ...
- ndk 编译 boost 库,支持serialization
Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容.在C+ ...
- QT全平台设置图标,全平台静态编译 good
1. 概述 当我们用QT写好了一个软件,要把你的程序分享出去的时候,不可能把编译的目录拷贝给别人去运行.编译好的程序应该是一个主程序,加一些资源文件,再加一些动态链接库,高大上一些的还可以做一个安装 ...
- WebService支持多平台上传文件的实现
WebService支持多平台上传文件的实现 要使用网站上传文件,在ASP.NET的范畴,我基本上能想到的有两类,一类是通过HTTP POST请求获得文件信息,另外一类是通过WebService或 ...
- WebKit 在 Windows 平台下编译小结
虽然WebKit 已经越来越多的被广大程序员接受,但其编译过程却非常之痛苦.下面将我编译WebKit 代码的经验与大家分享. 1) 获取WebKit 源代码 WebKit 源代码是使用Subversi ...
随机推荐
- 细心看完这篇文章,刷新对Javascript Prototype的理解
var person={name:'ninja'}; person.prototype.sayName=function(){ return this.name; } 分析上面这段代码,看看有没有问题 ...
- NOJ 1063 生活的烦恼
描述 生活的暑假刚集训开始,他要决心学好字典树,二叉树,线段树和各种树,但生活在OJ上刷题的时候就遇到了一个特别烦恼的问题.那当然就是他最喜欢的二二叉树咯!题目是这样的:给你一颗非空的二叉树,然后再给 ...
- .net中类型转换的案例
.net中三种数据类型转换区别((int),Int32.Parse() 和 Convert.toInt32() )(typename)valuename,是通用方法: Convert类提供了灵活的类型 ...
- mysql Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
错误原因:/var/lib/mysql目录中socket文件不存在.连接mysql服务器有两种方式:tcp连接,通过socket文件连接.通过socket文件,启动mysql服务,mysql服务会自动 ...
- mysql 权限控制
1.mysql的权限是,从某处来的用户对某对象的权限. 2.mysql的权限采用白名单策略,指定用户能做什么,没有指定的都不能做. 3.权限校验分成两个步骤: a.能不能连接,检查从哪里来,用户名和密 ...
- thinkphp ajax 无刷新分页效果的实现
思路:先做出传统分页效果,然后重新复制一份Page.class.php类,对它进行修改,把js中的函数传到page类中,把上一页.下一页.首页.尾页.链接页中的url地址改成js控制的函数,模板页面中 ...
- JavaSE复习_5 Eclipse的常见操作
△用鼠标点击生成的java源文件,按下F4可以观察类的生成的层次结构 △window-showreview:可以显示命令窗口. window-perspective-reset:可以将打乱的命令窗 ...
- (六)ARM状态寄存器-PSR
ARM程序状态寄存器Program State Register 在ARM模式中, 有16个数据寄存器和1或2个状态寄存器是可以随时访问的.在特权模式 (privileged mode) 下, 对应的 ...
- iOS开发之 XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效)
参考:http://mobile.51cto.com/iphone-455500.htm XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效) 前提:设备已经越狱 目前在XCode上开发 ...
- Linux配置全局环境变量的方法
总结3种方法: 1.修改/etc/profile 1.1 :首先在此文件中设置环境变量; 1.2:export 设置好的环境变量. #view /etc/profile export ...