Qt工作历程-在wince上的编译Qt4.8.5
2013-12-10 16:22
363 查看
Qt5.1增加了很多东西,但貌似都是以动态和跨平台为主的技术,看来Qt是真心想做大平台,类似MTK这种资源和性能都不高的平台,他开始觉得没市场了吧。
根据官方的编译介绍:
http://qt-project.org/doc/qt-4.8/install-wince.html
其实不外乎几步:
第一步:设置系统变量
下载qt-everywhere-opensource-src-4.8.5.zip文件,看清楚了,这是Qt的源码,不是SDK,地址如下
http://download.qt-project.org/official_releases/qt/4.8/4.8.5/qt-everywhere-opensource-src-4.8.5.zip
解压后,笔者放到了 C:\Qt\ 内,把解压的文件夹改成Qt485,然后把C:\Qt\Qt485\bin 加入系统PATH里
第二步:修改mkspecs上的相关编译函数
在C:\Qt\Qt485\mkspecs下面有一个叫wince60standard-armv4i-msvc2005文件夹,里面是
CE_SDK = STANDARDSDK_600 # replace with actual SDK name
CE_ARCH = ARMV4I
改成相对应的wince的SDK名称和架构,名称可以在C:\Program Files\Windows CE Tools\wce600下面找到
第三步:配置Qt,这里需要清晰需求
开始->程序->Microsoft visual studio 2005->visual studio tool->command 窗口(类似cmd窗口,但带了vs的编译环境设置)
不断cd到 C:\Qt\Qt485
选择1:
运行 configure -platform win32-msvc2005 -xplatform wince60standard-armv4i-msvc2005
这是比较普通的配置方式,但其实configure的学问太多了,详细看前面介绍的官方文档,这里补充一些其他
1.在C:\Qt\Qt485\src\corelib\global 里面提供了很多qconfig-large.h qconfig-minimal.h 的类似东西这些其实就是qt自己帮我们配置好的一些最大,或者最小的配置项
这些东西,可以通过在configure 里添加 -qconfig XXX.h 这样的方式加载,其实类似 -D XXX -D XXX的一个综合文件。
2.关于Qt上的裁剪,都可以具体看C:\Qt\Qt485\src\corelib\global 里面的 qfeatures.h 和 qfeatures.txt
选择2:
这里笔者提供一个自己实验用的配置
configure -platform win32-msvc2005 -xplatform wince60standard-armv4i-msvc2005 -release -static -nomake examples -nomake demos -no-exceptions -no-qt3support -no-scripttools -no-openssl -no-opengl -no-webkit -no-phonon -no-sql-sqlite -D QT_NO_SOUND -D QT_NO_WIDGETS
-D QT_NO_DIALOGS -D QT_NO_CURSOR
第四部:设置include,lib和path
set INCLUDE=C:\Program Files\Microsoft Visual Studio 8\VC\ce\include;C:\Program Files\Windows CE Tools\wce600\XXX_SDK\Include\Armv4i
set LIB=C:\Program Files\Microsoft Visual Studio 8\VC\ce\lib\armv4i;C:\Program Files\Windows CE Tools\wce600\XXX_SDK\Lib\ARMV4I
set PATH=C:\Program Files\Microsoft Visual Studio 8\VC\ce\bin\x86_arm;%PATH%
里面的XXX_SDK,请在自己的系统里找
最后:nmake
对了,有些wince会跑不起来,串口输出 could not resolve import CoCreateGuid,是因为wince的DOM被裁剪掉了,因此要加上:
CORE OS
CEBASE
Applications And Services Development
Component Services (COM and DCOM)
Component Object Model
COM
CoCreateGuid functionality for OLE32
根据不同的编译方式,C:\Qt\Qt485\lib 里面,会有不同的库,运行Qt程序,在板子上放上程序,和这些库(静态除外)。
根据官方的编译介绍:
http://qt-project.org/doc/qt-4.8/install-wince.html
其实不外乎几步:
第一步:设置系统变量
下载qt-everywhere-opensource-src-4.8.5.zip文件,看清楚了,这是Qt的源码,不是SDK,地址如下
http://download.qt-project.org/official_releases/qt/4.8/4.8.5/qt-everywhere-opensource-src-4.8.5.zip
解压后,笔者放到了 C:\Qt\ 内,把解压的文件夹改成Qt485,然后把C:\Qt\Qt485\bin 加入系统PATH里
第二步:修改mkspecs上的相关编译函数
在C:\Qt\Qt485\mkspecs下面有一个叫wince60standard-armv4i-msvc2005文件夹,里面是
CE_SDK = STANDARDSDK_600 # replace with actual SDK name
CE_ARCH = ARMV4I
改成相对应的wince的SDK名称和架构,名称可以在C:\Program Files\Windows CE Tools\wce600下面找到
第三步:配置Qt,这里需要清晰需求
开始->程序->Microsoft visual studio 2005->visual studio tool->command 窗口(类似cmd窗口,但带了vs的编译环境设置)
不断cd到 C:\Qt\Qt485
选择1:
运行 configure -platform win32-msvc2005 -xplatform wince60standard-armv4i-msvc2005
这是比较普通的配置方式,但其实configure的学问太多了,详细看前面介绍的官方文档,这里补充一些其他
1.在C:\Qt\Qt485\src\corelib\global 里面提供了很多qconfig-large.h qconfig-minimal.h 的类似东西这些其实就是qt自己帮我们配置好的一些最大,或者最小的配置项
这些东西,可以通过在configure 里添加 -qconfig XXX.h 这样的方式加载,其实类似 -D XXX -D XXX的一个综合文件。
2.关于Qt上的裁剪,都可以具体看C:\Qt\Qt485\src\corelib\global 里面的 qfeatures.h 和 qfeatures.txt
选择2:
这里笔者提供一个自己实验用的配置
configure -platform win32-msvc2005 -xplatform wince60standard-armv4i-msvc2005 -release -static -nomake examples -nomake demos -no-exceptions -no-qt3support -no-scripttools -no-openssl -no-opengl -no-webkit -no-phonon -no-sql-sqlite -D QT_NO_SOUND -D QT_NO_WIDGETS
-D QT_NO_DIALOGS -D QT_NO_CURSOR
第四部:设置include,lib和path
set INCLUDE=C:\Program Files\Microsoft Visual Studio 8\VC\ce\include;C:\Program Files\Windows CE Tools\wce600\XXX_SDK\Include\Armv4i
set LIB=C:\Program Files\Microsoft Visual Studio 8\VC\ce\lib\armv4i;C:\Program Files\Windows CE Tools\wce600\XXX_SDK\Lib\ARMV4I
set PATH=C:\Program Files\Microsoft Visual Studio 8\VC\ce\bin\x86_arm;%PATH%
里面的XXX_SDK,请在自己的系统里找
最后:nmake
对了,有些wince会跑不起来,串口输出 could not resolve import CoCreateGuid,是因为wince的DOM被裁剪掉了,因此要加上:
CORE OS
CEBASE
Applications And Services Development
Component Services (COM and DCOM)
Component Object Model
COM
CoCreateGuid functionality for OLE32
根据不同的编译方式,C:\Qt\Qt485\lib 里面,会有不同的库,运行Qt程序,在板子上放上程序,和这些库(静态除外)。
相关文章推荐
- [mark]vs2012编译qt4.8.5
- Qwt5.2.3 + VS2008/VS2010+Qt4.8.5编译
- QT for WinCE 编译
- 编译QT for WinCE
- qt4.8.5 编译安装
- 工作积累之WinCE平台的程序编译到Win32平台下运行
- Qt4.8.5编译qvfb出现undefined reference to `png_create_write_struct'问题解决办法
- Qt 4.8.5 静态编译小结
- QT-WINCE 编译
- 移植qt-4.8.5至 mini2440建立交叉编译及qt运行环境
- qt 4.8.4 在 wince 平台下的编译 + openssl
- wince的qt编译方法
- MinGW编译安装VTK-5.10.1_支持Qt4.8.5
- 交叉编译Qt-4.8.5
- 编译Qt4.8.5源码
- Qt工作历程-关于Qt加载速度太慢的问题
- 如何编译动态库/静态库之编译Qt4.8.5静态库/动态库
- 工作一周年祭 &WINCE驱动学习历程
- Qt5.2.0 MinGW480 release静态版编译结果、过程及QtCreator配置分享(realfan的编译方法)(configure -h可以显示帮助)(静态编译mysql插件,需要做一些其它工作,机器上要有mysql)(不编译qtwebkit,就不用安装ActivePerl了)(用到 QMediaPlayer的编译办法)
- Qt工作历程-Qt的Pro转vcproj