build-qt.sh(Cross compile in Linux for Windows)
#!/bin/bash set -e MINGW=${MINGW:-${ARCH:-x86_64}-w64-mingw32} PREFIX=${PREFIX:-usr} WORKSPACE=${WORKSPACE:-$(pwd)} TARGET=${TARGET:-${WORKSPACE}} WINREQ=${WINREQ:-${TARGET}/${PREFIX}} BUILD_NUMBER=${BUILD_NUMBER:-} ARCH=${ARCH:-${MINGW%%-*}} BINDIR=${BINDIR:-${PREFIX}/exe} LIBDIR=${LIBDIR:-${PREFIX}/exe} PLUGINDIR=${PLUGINDIR:-${PREFIX}/exe} WININC=${WININC:-${WINREQ}/include} WINLIB=${WINLIB:-${WINREQ}/exe} version= download= ; do case "$1" in (-h|--help) cat<<EOF $ [OPTIONS] [CONFIGURE-ARGUMENTS] OPTIONS: -h, --help show this help -z, --zip create zip package -v, --version specify version string -d, --download download sources otherwise sources must be in $(pwd) CONFIGURE-ARGUMENTS: Arguments that are passed to configure. VARIABLES: MINGW mingw parameter (default: $MINGW) PREFIX relative installation prefix (default: $PREFIX) WORKSPACE workspace path (default: $WORKSPACE) WINREQ path to required windows libraries (default: $WINREQ) TARGET installation target (default: $TARGET) BUILD_NUMBER build number (default: $BUILD_NUMBER) ARCH architecture (default: $ARCH) BINDIR install dir for exe files (default: $BINDIR) LIBDIR install dir for dll files (default: $LIBDIR) PLUGINDIR install dir for qt plugins (default: $PLUGINDIR) WININC path to required windows include files (default: $WININC) WINLIB path to required windows libraries (default: $WINLIB) DEPENDENCIES: openssl /build-openssl.sh icu /build-icu.sh Builds QT for Windows EOF exit ;; (-d|--download) download=;; (-v|--version) shift; version="$1";; (-z|--;; (*) break;; esac ; then >& exit fi shift done set -x cd ${WORKSPACE} ; then git clone https://code.qt.io/qt/qt5.git qt5 cd qt5 if test -z "$version"; then version=$(git branch -r | ) fi git checkout "$version" perl init-repository --module-subset=default,-qtwebkit,-qtwebkit-examples,-qtwebengine elif test -d qt5; then cd qt5 fi if test -z "$version"; then version=$(git branch | sed -n 's,^\* *,,p') fi path=qt-${version} [[ -.]+$ ]] echo "Version: $version" echo "Package: $path" git submodule foreach --recursive "git clean -dfx" # bugfixes: # MinGW has no uiviewsettingsinterop.h sed -i '/^ *# *define *HAS_UI_VIEW_SETTINGS_INTEROP *$/d' qtbase/src/plugins/platforms/windows/qwin10helpers.cpp # https://bugreports.qt.io/browse/QTBUG-38223 sed -i '/option(host_build)/d' qtactiveqt/src/tools/idc/idc.pro # /workdir/qtwinextras/src/winextras # qwinjumplist.:: error: ‘SHCreateItemFromParsingName’ was not declared in this scope sed -i '/# *if *defined *( *_WIN32_IE *) *&& *_WIN32_IE *<< *0x0700/{s,<<,<,}' qtwinextras/src/winextras/qwinjumplist.cpp # in qtexttospeech_sapi.cpp file sphelper.h is missing → "-skip qtspeech" ./configure -v -recheck-all -opensource -confirm-license \ -xplatform win32-g++ -device-option CROSS_COMPILE=${MINGW}- \ -no-compile-examples \ -I"${WININC}" \ -L"${WINLIB}" \ -prefix "${TARGET}/${PREFIX}" \ -bindir "${TARGET}/$BINDIR" \ -libdir "${TARGET}/$LIBDIR" \ -plugindir "${TARGET}/$PLUGINDIR" \ -libexecdir "${TARGET}/$LIBDIR" \ -system-proxies \ -opengl desktop \ -openssl-runtime \ -skip qtspeech \ -skip qtlocation \ -shared \ -release \ $* make make install # bugfixes: # Qt pkg-config files link to debug version in release build # https://bugreports.qt.io/browse/QTBUG-60028 for f in "${TARGET}/${LIBDIR}"/pkgconfig/*.pc; do sed -i 's,\(-lQt5[-_a-zA-Z0-9]*\)d,\1,g' "$f" done if test $zip -eq 1; then cd "${TARGET}" zip -r "${path}~windows.${BUILD_NUMBER}_${ARCH}.zip" "${PREFIX}" fi
https://github.com/mwaeckerlin/mingw/blob/master/build-qt.sh
build-qt.sh(Cross compile in Linux for Windows)的更多相关文章
- 2018.4.12 各个系统安装MyEclipse过程(包括Mac、Linux、Windows)
首先下载MyEclipse 最新官网在这里http://www.myeclipsecn.com/ mac 安装 . 在安装第一步会显示 "安装myeclipse显示更低版本javase6&q ...
- 新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows)
原文出处:新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows) 这是我的文章备份 http://www.dotblogs.com.tw/ ...
- 磁盘IO性能监控(Linux 和 Windows)
磁盘IO性能监控(Linux 和 Windows) 作者:终南 <li.zhongnan@hotmail.com> 磁盘的IO性能是衡量计算机总体性能的一个重要指标.Linux提供了i ...
- java获取本机器的IP(linux和windows)
目录 描述 方案描述 获取Windows下的IP 获取linux下的IP 判断操作系统的类型 最后将上面三个方法进行整合 参考 描述 由于项目是部署在集群上的,需要项目能够自动采集各机器的信息.jav ...
- ISE(Iris Server Engine)是一个基于现代C++的跨平台(Linux和Windows)框架
ISE(Iris Server Engine)是一个基于现代C++的跨平台(Linux和Windows)的高性能多线程并发网络服务器程序框架.它封装了琐碎的socket以及各种操作系统APIs,以面向 ...
- LoadRunner 服务器(Linux、Windows) 性能指标度量说明
服务器资源性能计数器 下表描述了可用的计数器: 监控器 度量 说明 CPU 监控器 Utilization 监测 CPU 利用率. 磁盘空间监控器 Disk space 监测可用空间 (MB) 和已用 ...
- openCV 简单实现身高测量(未考虑相机标定,windows)
(一) OpenCV3.1.0+VS2015开发环境配置 下载OpenCV安装包(笔者下载3.1.0版本) 环境变量配置(opencv安装路径\build\x64\vc14\bin,注意的是x64文件 ...
- 静态编译Qt5.4.1和Qt WebKit(网事如风的blog)good
blog文章地址:http://godebug.org/index.php/archives/133/ WebKit是个好东西,做爬虫.显示网页还是想用HTML来做桌面应用的界面都可以用他,不过一直以 ...
- 原创)CentOS6.4下安装xampp(一定要在linux上下载)
一.xampp下载地址: http://sourceforge.net/projects/xampp/files/XAMPP%20Linux/1.8.3/ 二.我下载的是xampp-linux-x64 ...
随机推荐
- hadoop集群中的日志文件 分类: A1_HADOOP 2015-02-28 20:37 680人阅读 评论(0) 收藏
hadoop存在多种日志文件,其中master上的日志文件记录全面信息,包括slave上的jobtracker与datanode也会将错误信息写到master中.而slave中的日志主要记录完成的ta ...
- Python数据结构之树
二叉树 嵌套列表方式 # coding:utf-8 # 列表嵌套法 def BinaryTree(r): return [r, [], []] def insertLeft(root, newBran ...
- java数组10大技巧
0. 声明一个数组(Declare an array) String[] aArray = new String[5]; String[] bArray = {"a"," ...
- ios开发网络学习三:NSURLConnection小文件大文件下载
一:小文件下载 #import "ViewController.h" @interface ViewController ()<NSURLConnectionDataDele ...
- URIEncoding
http://thoughtfly.iteye.com/blog/1533481 http://docs.spring.io/spring/docs/current/spring-framework- ...
- [自学AndroidStudio系列]第二篇章:高速上手AS小技巧其一
事实上看过第一篇的文章的人可能发现了,这个系列实际上是针对,有android开发经验的,之前使用Eclipse的开发人员;所以,避免无谓的口舌,直接进入说重点吧; 关闭项目自己主动打开 AS会自己主动 ...
- [Angular] Content Projection with ng-content
For example there is tow form compoennts on the page, and what we want to do is reusing the form com ...
- 01_Git的安装和简单使用(命令行模式+图形化模式)
刚开始用git的小白适用,参考链接:http://www.cnblogs.com/qijunjun/p/7137207.html 实际项目开发中,我们经常会用一些版本控制器来托管自己的代码,今天 ...
- RPC与REST的差别
一:RPC RPC 即远程过程调用, 非常easy的概念, 像调用本地服务(方法)一样调用server的服务(方法). 通常的实现有 XML-RPC , JSON-RPC , 通信方式基本同样, 所不 ...
- 使用OTP原则构建一个非阻塞的TCP服务器
http://erlangcentral.org/wiki/index.php/Building_a_Non-blocking_TCP_server_using_OTP_principles CONT ...