Qt For Wince平台的搭建【vs2008 】

Qt For Wince平台的搭建【vs2008 】
2010年06月15日
  首先得感谢0XFAN,帮我解决了不少麻烦,还有小A,以及Google~~~
  我需要搭建的平台是vs2008+qt for wince +wince5.o【目标板子是EM9161,这个是后来才确定的】 当然顺便也使用qt creator用于wince的开发。
  原有平台vs2008+qt4.6.2 以及qtcreator
  在开发环境搭建之前,还没有接触过wince,花了很多时间研究wince,不过还是浅尝辄止。为了偷懒,我想使用现成的wince sdk.【主要是我还不会定制sdk】,从微软下了STANDARD_SDK,发现没有模拟器--!,悲剧了,后来去网上找了很多wince5.0的模拟器。安装以后,vs的设备管理器没有关联上,都是独立运行的那种,包括微软提供的那个wince5。0模拟器【发现还是一个for x86的】。后来有幸装了一个wince6.0的,带了模拟器和sdk【感谢网友分享】,将就使用wince6.0的模拟器吧 --!不知道会发生什么问题,凑合着用【希望大家在这方面可以提供些帮助,小弟不才】。
  最后确定的目标板子是英创的EM9161,在其网站上找到了相应的wince5.0的sdk.装上后,同样没有模拟器。悲剧~~~
  1,先下载qt-for-wince-opensource-src-4.6.2.zip,解压到一个没有空格的目录,我放在了D盘。
  2,.然后打开VS2008下的命令行窗口,工具->Visual Studio 2008命令提示符,好吧很输入的黑色窗口出现了。为了保险起见,先执行vsvarsall.bat设置初始化环境,这个会自动调用vars32.bat.
  3 ,配置平台信息
  cd到D:\wince【安装时解压目录】
  configure -platform win32-msvc2008 -xplatform wince50standard-armv4i-msvc2008 【根据你的平台而定。注意啦:这里留到后面说。】可以去mkspecs文件中查找对应的平台
  
  4,这个是最关键的一部,方法比较多,我就在这里被搞晕了。
  1.你可以这么做。手动设置你的编译环境。比如我的设置是,
  set INCLUDE=C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\include;C:\Program Files\Windows CE Tools\wce500\EM9161\Include\Armv4i
  set LIB=C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\lib\armv4i;C:\Program Files\Windows CE Tools\wce500\EM9161\Lib\ARMV4I
  set PATH=C:\Program Files\Microsoft Visual Studio 9.0\VC\ce\bin\x86_arm;%PATH%
  2.要是想偷点懒的话,先cd到bin目录,你可以先checksdk.exe list 查看你现有的sdk
  然后checksdk.exe -sdk "EM9161 (ARMV4I)" script tmp.bat生成tmp.bat文件
  运行tmp.bat配置环境。
  3.最简单的做法只要一句话,setcepaths wince50standard-armv4i-msvc2008
  
  如果是针对微软的标准sdk的话,这个批处理可以不做修改。如果不是的话,那么还需要小小的修改。 将standardsdk_500
  ) ELSE IF "%1" EQU "wince50standard-armv4i-msvc2008" (
  checksdk.exe -sdk "EM9161 (ARMV4I)" -script tmp_created_script_setup.bat 1>NUL
  只要把原来的sdk改成我目标板子(em9161)上的即可。要是不明确有哪些sdk,请看4.2
  5,执行nmake,进行编译。 现在要做的事就是等一两个小时了。
  要是觉得编译出来后文件才占空间,可以执行" nmake confclean ",这样清理完成之后,整个qt解压目录大小约为800M左右。【这个还不理解其原理,有说是将编译过程中的信息删除】
  好吧,现在可以测试一下我们搭建的平台了。
  当然得先在vs->qt->qt options->设置我们新的qt版本。
  
  然后新建qt wince应用程序。
  
  不对呀?
  
  qt读出来的wince平台竟然是STANDARDSDK_500的。
  怎么回事呢?
  刚才我们不是针对em9161的sdk进行编译的qt库的吗?问题就在我们配置的问题。
  Qt带的默认配置是对标准sdk的。 我们可以在mkspecs\wince50standard-armv4i-msvc2005的qmake.conf【2008使用的2005的配置文件】中看到,
  CE_SDK = STANDARDSDK_500
  将其改为CE_SDK = EM9161
  重启vs以后,新建qtwince项目就可以看到我们的目标平台了,一旦改成没有的sdk,则会提示没有发现wince的平台。也就是vs是通过这个配置文件来关联wincesdk的。不知道有没有理解错。
  
  赶紧完成第一个测试,编译通过。只是没有办法直接部署到模拟器中。虽然已经通过activesync同步了wince6.0的模拟器。但是不能像开发vc++智能设备以后,可以直接在模拟器中运行。提示是:系统找不到指定的文件。
  
  现在只能手工将编译好的程序以及相应的dll放到模拟器中,可以正常运行。 在qtcreator中先用qt4.6.2进行调试,然后再用刚才编译好的wince库,进行编译,就可以到模拟器中跑来
  【板子上到还是没有实际测试过】
  欢迎大家过来拍砖。并提供好的方法哦~~~~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值