您的位置:首页 > 编程语言 > Qt开发

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程序,在板子上放上程序,和这些库(静态除外)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: