zoukankan      html  css  js  c++  java
  • AT2440EVB_II+WINCE5.0板上跑QT程序

     

     

    平台信息

    目标平台:AT2440EVB_II(ARM9)+WINCE5.0

    开发平台:WINDOW XP+VS2008+ Qte4.5.2

    开发平台搭建

    1.VS2008安装:

    傻瓜式安装,注意进行到下图界面时勾选智能设备可编程技术,这个很重要。

    已经安装了VS2008的可以在控制面板->添加删除程序,对已经安装的VS2008进行修改。

    2.同步软件

    下载安装Microsoft ActiveSync4.5,这个是通过USB接口实现目标板与开发平台同步的软件。

    3.将QT集成到VS2008中:

    下载安装Qt.Visual.Studio.Integration,笔者版本是1.4.0。具体安装步骤自己摸索一下,如有问题可与笔者联系。集成了以后,你就可以在VS下开发QT程序了,相当强大!!!

    4.PB5:

    作用:这个是定制WINCE内核的,同时也是生成SDK(软件开发工具包)的。

    安装wince5.0(厂家光盘上提供的),请先安装dotnetfx(这个是安装Microsoft .NET Framework 1.1),然后双击Microsoft Windows CE 5.0.msi安装wince5.0。

    在Microsoft Windows CE 5.0.msi的安装时注意下图:

     

    安装完成以后,在开始->程序-> Microsoft Windows CE 5.0中会出现Platform. Builder 5.0工具。

    5.SDK:

    根据AT2440EVB-II.pdf中定制一个内核,同时导出相应SDK。Platform->SDK->New SDK,名字可以填Test,然后一直下一步,直到出现下图界面时注意要勾选××ded Visual C++ 4.0 support:

      

    如果选错了,或者名字不适合,还可以在完成之后,进入Platform->SDK->Configure SDK中进行修改(注意CPU选项卡内容与目标板对应)。

    然后选择Platform->SDK->Build SDK,然后等SDK生成完成后,看到如下提示信息,点击Done。

    然后到上图显示路径下找到安装包,并傻瓜式安装。安装完成以后,你的开发平台就拥有了板子的开发包了。

    6.Qte4.5.2:

    6.1.下载qt-××ded-wince-opensource-src-4.5.2.zip,解压到一个没有空格的目录,最好也不要有中文。

    6.2.然后将Qte目录下的bin文件夹路径加入到环境变量PATH下。右键我的电脑->属性->高级->环境变量。

    6.3.然后打开VS2008下的命令行窗口,工具->Visual Studio 2008 Command Prompt,配置编译Qte的库都需要在这个窗口下。

    6.4.首先配置Qte库,进入Qte目录,输入命令configure –platform. win32-msvc2008 –xplatform. wince50standard-armv4i-msvc2008,这里的配置需要参考自己的目标板平台和开发平台。

    6.5.在编译Qte库以前需要修改一下环境变量,还是在刚才的命令行窗口下,输入命令如下:

    6.6.环境变量设置:

    修改INCLUDE:

    set INCLUDE=D:\Program Files\Microsoft Visual Studio 9.0\VC\ce\include;D:\Program Files\Windows CE Tools\wce500\AT2440H8\Include\Armv4i

    修改LIB:

    set LIB=D:\Program Files\Microsoft Visual Studio 9.0\VC\ce\lib\armv4i;D:\Program Files\Windows CE Tools\wce500\AT2440H8\Lib\ARMV4I

    修改PATH:

    set PATH=D:\Program Files\Microsoft Visual Studio 9.0\VC\ce\bin\x86_arm;%PATH%

    这里说明几点注意

    第一,“D:\Program Files\Microsoft Visual Studio 9.0”是笔者的VS2008的安装路径,而“D:\Program Files\Windows CE Tools\wce500\AT2440H8”是笔者根据定制的内核导出的SDK的安装路径,AT2440H8是该SDK的名字。这里只是一个参考,具体 设置,读者应该以自己的开发平台上的路径为准;

    第二,INCLUDE和LIB两个变量设置时,不用包含旧值;

    第三,这里的SDK很重要,一定要针对目标板和定制的内核,不然会出现不可预料的问题。

    6.7.编译Qte库,在设置好的环境变量的命令行窗口下输入nmake,然后就是等待它编译完成,根据PC的配置不同,时间也不同,笔者编译大约花了1个半小时。

    当然,你的开发平台可能与上面提到的有些许不同,这样的话,只用根据自己的平台修改相应的设置就可以了。最后,如果以上6步都已经完成了的话,那恭喜你了,你的开发环境已经搭建好了。

    生成WINCE下的QT程序

    平台搭建好以后,Qt的开发就比较容易了。基本思想就是用VC自带的交叉编译器利用编译过的Qte的库,去编译你的目标板的Qt程序,最终生成板子上的EXE可执行程序。其实编译目标板上的Qt程序和PC上的Qt程序大同小异,只是在工程属性上有不同而已。

    下面,我将以一个编译过的Qt库中的example程序来讲解。

    1.编译你的目标平台上的Qt程序:

    当你建好你的Qt工程以后,在编译前修改一下你的工程属性。

    1.1.选择项目->属性,点击最上面的配置管理器按钮,配置选择Release,平台选择STANDARDSDK_500(ARMV4I)(如果没有STANDARDSDK_500(ARMV4I)平台,可新建一个,不要从其他平台复制属性),如下图所示:

    1.2.在属性页中,修改配置属性->C/C++->常规中的附加包含目录, 添加你编译过的Qte库的中的以下目录:include目录,include\QtGui目录,include\QtCore目录,mkspecs \wince50standard-armv4i-msvc2008目录以及当前工程目录。以上这些目录是编译Qt工程所必须要包含的附加包含目录,你可 以根据你自己的Qt工程添加需要的Include目录。如下图所示:

      

    1.3.修改配置属性->C/C++->命令行中的附加选项,修改为-Zm200 -w34100 -w34189 -w34100 -w34189(具体用处与意思我也不知道,还请高手指教),如下图所示:

    1.4.修改配置属性->链接器->常规中的附加库目录,添加上编译过的Qte库的Lib目录,如下图所示:

    1.5.修改配置属性->链接器->输入中的附加依赖库,添加编译过的Qte库中Lib文件夹下的以下3个库文件:qtmain.lib、QtGui4.lib、QtCore4.lib,如下图所示。可将这三个复制到工程文件夹下,否则需要添加绝对路径。

    1.6.修改配置属性->链接器->命令行中的附加选项,修改为/SUBSYSTEM:WINDOWSCE,5.00 /MACHINE:THUMB /SUBSYSTEM:WINDOWSCE,5.00 /MACHINE:THUMB(具体意思也不明白),如下图所示:

    1.7.ui文件的处理,ui文件是qt的图形界面资源文件,而最后使用的是由这个ui文件转换而来的.h文件,这个工作不是VC的编译器做的,而是QT库提供的uic.exe做的。一般来说你的工程建好以后,你的ui文件都会设置好另行编译的属性。如果没有,你可以自行设置。

    右击ui文件->属性->配置属性->自定义生成步骤->常规,修改如下:

    命令行        uic.exe *.ui –o ui_*.h

    输出        ui_*.h

    附加依赖项        uic.exe;*.ui

    注:*为你自己定义的ui文件名。

    1.8.然后点击生成->生成+你的工程名,当你看到如下图所示的时候,你的目标板上的Qt程序就已经编译好了。

    2.发布你的Qt程序到目标板上:

    你的Qt程序编译完成以后,就可以发布到你的目标板上了,在工程文件夹下的STANDARDSDK_500 (ARMV4I)\Release文件夹里面找到编译好的可执行程序(EXE),拷贝到你的目标板上(SD卡上)。然后还需要拷贝程序需要的DLL文件, 必要的有以下三项:

    QtCore4.dll、QtGui4.dll、msvcr90.dll三个。其中 QtCore4.dll、QtGui4.dll两个DLL需要在编译过的Qte库中Lib文件夹下复制,而msvcr90.dll需要在VS安装目录下的 VC\ce\dll\armv4i文件夹下复制。这3个dll是必须的,如果你的工程还需要其他DLL,请一同复制到目标板(SD卡)上。最后将你的工程 需要的其他资源文件等一同复制到目标板上。

    然后在目标板上就可以顺利运行你的Qt程序了。截个图:

    结束语

    这篇文章由笔者参考了网上多篇资料以及多个论坛问题回答,最终实践之后所得,属原创作品。如有错误之处敬请指正。

    另在此感谢所有帮助过我的人!

  • 相关阅读:
    Go 笔记之如何防止 goroutine 泄露
    调试 Go 的代码生成
    使用k8s容器钩子触发事件
    springboot教程
    Intellij IDEA 使用Spring-boot-devTools无效解决办法
    c# WMI获取机器硬件信息(硬盘,cpu,内存等)
    各式 Web 前端開發工具整理
    Informix 中执行多条SQL(Execute Script)
    Log4Net
    mysql 按年度、季度、月度、周、日SQL统计查询
  • 原文地址:https://www.cnblogs.com/YYi_H/p/1928928.html
Copyright © 2011-2022 走看看