收藏 分销(赏)

Qt-for-WinCE-环境搭建心得.doc

上传人:仙人****88 文档编号:12009367 上传时间:2025-08-27 格式:DOC 页数:7 大小:185KB 下载积分:10 金币
下载 相关 举报
Qt-for-WinCE-环境搭建心得.doc_第1页
第1页 / 共7页
Qt-for-WinCE-环境搭建心得.doc_第2页
第2页 / 共7页


点击查看更多>>
资源描述
Qt for WinCE 环境搭建心得 李振宇 2011-10-17 由于c#版终端软件在WinCE终端上运行不稳定,因此考虑用C++(Qt)重新开发,以前用Qt的SDK安装很方便,可是Qt Wince环境必须要编译Qt源代码,为了搭建环境经历了很多周折,历尽艰辛,花了3天时间,终于搞定了,现把主要步骤和注意事项记下,以留备用。 原来的开发环境设计msvc2005 + qt4.7.4 + qt-vs-addin1.1.9 (qt的此两项为当前最新版本)可是由于qt4.7.4在编译(for wince)时出现错误,此为qt4.7.4的一个Bug(见资料1),因此改为qt4.7.3。msvc2005在安装win32版时,由于只有msvc2008编译版,重新编译麻烦,因此改为msvc2008,否则Debug版编译有问题(见资料2)。还有qt-vs-addin1.1.9在和msvc2008,wince6.0搭配有问题,加不了qt库(见资料3),因此改用qt-vs-addin1.1.8。开发板方面用的是ARM9的SmartArm3250(wince 6.0)。 最终开发环境为msvc2008 + qt4.7.3 + qt-vs-addin1.1.9 资料1 : qt4.7.4 for wince bug 现象:编译qt库时出现错误error LNK2019: unresolved external symbol gmtime referenced in function png_convert_from_time_t 参考资料: Description:When building the Windows CE version of Qt4.7.4 (using e.g., configure -platform win32-msvc2008 -xplatform wincewm60professional-msvc2008, linking (nmake) fails with the following output ... Creating library ..\..\lib\QtGuid4.lib and object ..\..\lib\QtGuid4.exp pngwrite.obj : error LNK2019: unresolved external symbol gmtime referenced in function png_convert_from_time_t ..\..\lib\QtGuid4.dll : fatal error LNK1120: 1 unresolved externals Function gmtime is not available under Windows CE / Windows Mobile, so that would explain the linker error. I marked the Component as Image formats, as it seems to be related to pngwrite / libpng. Answer:But QT 4.7.4 for WinCE have problems with maximized forms ( form.showMaximized() ) I have to get back to 4.7.3 version. 资料2 : msvc2005 Debug版不能用qt-win-opensource-4.7.3-vs2008.exe 参考资料: 结论1:如果你想把Qt4.6.2安装在VS2005中,又不想花时间编译,请下载和安装qt-win-opensource-4.6.2-vs2008,并单独编译“QT安装路径\src\winmain\” 结论2:在安装qt-win-opensource-4.6.2-vs2008(msvc9/vs2008已编译版)之前千万不要安装qt-sdk-win-opensource-2010.02.1(miniGW已编译版),如果不幸安装了,请先卸掉它,切记! 资料3:qt-vs-addin1.1.9和msvc2008存在兼容性问题 现象:在vs2008添加qt库时出现错误this qt version is not compatible to your current visual studio. Qt builds VS version:0 current version:1500。 参考资料: 安装准备: 1. Visual Studio 2008 + vs2008 sp1 2. ActiveSync4.5(ActiveSyncsetup_PConline.msi) 3. 开发板SDK (SmartARM3250.msi) 4. qt-everywhere-opensource-src-4.7.3.zip 编译为wince 5. qt-win-opensource-4.7.3-vs2008.exe 做本机开发测试 6. qt-vs-addin-1.1.8.exe VS IDE开发插件 安装vs2008就不多说了,注意安装vs2008时选上智能设备开发包。用winXp和ie8的注意了,vs2008和ie8在winXp上有冲突,解决办法见资料4。 资料4:IE8将导致VS2005(VS2008)行为异常 参考资料: 今天突然发现VS2005不能用向导创建Win32智能设备项目, 但是直接打开sln文件和程序的编译链接没有问题。 开始很莫名其妙不知道为什么,因为自己这几天似乎没弄什么东西。 想了想,好像装IE8了,就用ie8和vs2005的关键字搜索了一下,果然很多人遇到类似的问题: “IE8和VS2005以及VS2008存在严重兼容性问题,微软官方论坛版主已经证实了” 在这里提醒一下准备装IE8的开发者,要考虑考虑。 ---------------------------------------------------- 3.31更新 已有对应方案,来自微软的Visual C++开发小组。 具体方法是: 在注册表里的下面位置 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\ 添加一个为1000的新项目,再在这个项目里添加一个值为0的DWORD项目1207。 ---恢复vs2005向导异常.reg内容--- Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1000] "1207"=dword:00000000 安装ActiveSync4.5很简单。 安装开发板SDK时遇到问题,提示 解决办法是安装是不要选择文档(Documentation),具体的参照资料5。 资料5 单机搭建WinCE开发环境(四) 参考资料: 前几天一直在测试VS2005下WinCE6.0中文模拟器的使用,基本上没有问题了。今天便在VS2008中安装了一下WinCE6.0中文模拟器的SDK,又遇到了一些小问题,贴出来跟大家分享一下,也算是对单机搭建WinCE开发环境的一个补充。 第一次安装时,一路默认,开始一切正常,到安装快完成的时候出现了状况,先后出现了下面的两个提示,点完OK后就Roll Back了。 重新试了两遍,都是如此。难道VS2008不支持WinCE6.0?这似乎不大可能。那问题在哪里呢?像这种没头没脑的问题,只能“百度一下”了,结果“抱歉”。再Go一下,果然有6项相关的网页。其中有一篇提到,在VS2008中安装WinCE6.0的SDK时,不能完全安装,必须选择定制,并把.NET Compact Framework取消掉。 按照这个说法重新安装了一遍,问题依然存在。Faint~~为什么还是不行呢? 再安装一遍,把Documentation也取消掉,其他两项Native Development Support和Common保留,竟然可以了!新建了一个MFC的工程,编译下载测试,完全没有问题,这证明VS2008确实是支持WinCE6.0应用程序的开发的! 不过下面这两个问题到底是怎么回事呢? ToolsMsmCA(Error):IHxFilters filter registration failure:Err = 0x80040305,Context = pFilters->SetNameSapce(Namespace) ToolsMsmCA(Error): IHxRegisterSession transaction failure: Err = 0x8004036f, pRegSession->CommitTransaction() 把.NET CF取消掉就可以,那应该跟它有一定的关系。是不是.NET CF2.0和3.5引起的?不得而知,只是猜测罢了。不管怎样,能用就好。回头有时间再找找看原因,当然如果您知道这是怎么回事,也请指教啊。^_^ 下面编译Qt源码,比较麻烦,步骤参考资料6: 资料6 编译Qt For Wince 参考资料:http://www.qtcn.org/bbs/read.php?tid=11920 Qt-WinCE全解 声明:花费了三天时间,周转各大网站,终于在今天将自己的第一个Qt程序在“小I(SAMSUNG i718+)”上跑了起来! 一、Qt 嵌入式环境的搭建 a)首先,下载Qt的嵌入式开发包qt-embedded-wince-opensource-src-4.4.0.zip b)然后,下载VS2005。 c)最后,下载一个嵌入式开发的SDK,如Windows Mobile 5.0 Pocket PC SDK,可以在微软的官方网站上下载到! d)还有一个是同步的软件 Microsoft ActiveSync4.5中文简体版。 ------------------------------------------安----装---------------------------------- e)首先安装VS2005,很简单,按照向导来,在自定义安装中务必选择“智能设备开发”。 f)关于Microsoft ActiveSync4.5的安装更是“straightforward”。在此不再多说! g)然后,安装Windows Mobile或是其它版本的SDK,可以用自定义的SDK!简单 h)比较麻烦的就是qt-embedded-wince的安装。参照下面的步骤:①、解压,将解压后的文件夹放到一个不含空格的路径中,如我的:f:\penguinx\qt_wince,qt_wince即为此文件夹。然后设置环境变量:右键“我的电脑”->“属性”->点“高级”标签->“环境变量”选项->在"PATH"中添加路径“f:\penguinx\qt_wince \ bin”。OK!②编译前戏。首先,配置编译选项,进行VS2005的命令行中,进入解压的文件夹,然后执行如下:configure -platform win32-msvc2005 -xplatform wince50standard-armv4i-msvc2005可以根据自己的板子及手机配置来选择其它的嵌入式的xplatfrom。这个过程可能需要十几分钟。执行完后,再次在VS2005中设置临时的环境变量,编译时要用到:如下: set INCLUDE=D:\Program Files\Microsoft Visual Studio 8\VC\ce\include;D:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Include\Armv4i set LIB=D:\Program Files\Microsoft Visual Studio 8\VC\ce\lib\armv4i;D:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Lib\ARMV4I set PATH=D:\Program Files\Microsoft Visual Studio 8\VC\ce\bin\x86_arm;%PATH% 在此我期望能根据自己的软件安装情况将上面的目录“拿来主义”一下。设 置完后,执行nmake,过两、三个钟头后,你就可以Enjoy your journey. 最后,执行nmake,安装完毕!我的Qt-WinCE安装在 f:\penguinx\qt_wince 关于定制SDK 用如下的参考资料: 资料 7 定制SDK 在F:\qt441ce\mkspecs下新建一个目录“wince50armsys2440-armv4i-msvc2005”命名必须符合如下规则wince<version><SDK-shortcut>-[architecture]-msvc2005。将wince50standard-armv4i-msvc2005目录下的qmake.conf和qplatformdefs.h拷入新建目录。   xipttl800600 修改qmake.conf,将CE_SDK      = STANDARDSDK_500修改为:CE_SDK     = armsys2440并保存 下面是我用的F:\qt47\mkspecs\wince60SmartARM3250-armv4i-msvc2008\qmake.conf内容 include(../wince60standard-armv4i-msvc2005/qmake.conf) CE_SDK = SmartARM3250 QMAKE_COMPILER_DEFINES -= _MSC_VER=1400 QMAKE_COMPILER_DEFINES += _MSC_VER=1500 configure -platform win32-msvc2008 -xplatform wince60arm3250-armv4i-msvc2008 -qconfig terminal3 -stl 我的set命令 set INCLUDE=C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\include;C:\Program Files\Windows CE Tools\wce600\SmartARM3250\Include\Armv4i set LIB=C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\lib\armv4i;C:\Program Files\Windows CE Tools\wce600\SmartARM3250\Lib\ARMV4I set PATH=C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\bin\x86_arm;%PATH% 最后两部的安装没什么可说的。 配置vs2008 Qt->Qt Option->Add 选择编译Qt的目录->OK 裁剪Qt(Wince) 第一次编译,参考文件(\custombuild\first) 为解决错误 kernel\qapplication.cpp(6071) : error C2664: “QPixmap::QPixmap(QPixmapData *)” : 不能将参数 1 从“const char **”转换为“QPixmapData *” 裁剪时添加IMAGEFORMAT_XPM模块支持
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 应用文书 > 心得体会

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服