如何导出wince6.0的SDK 添加MFC支持
2010年07月19日
最近在做WINCE6.0系统的编译和SDK的导出。但是我导出的SDK大小只有5M多,这个与以往WINCE5.0中导出的SDK要小了很多,之前我在WINCE5.0中导出的SDK大约有25M左右。查找了一通最后发现原来6的系统较5的系统有了一些改变,至少在MFC支持上有了变化。在6的系统中,导出对应OS design的SDK时,不会包含对MFC DLL的,要手工将MFC的DLL加入OS iamge中,在导出SDK时要手工将支持MFC的头文件和lib库包含到SDK中。
那么如何做了?
(1)必需先编译通过自己的OS Design工程
a.在Catalog Items View中选择自己要添加到OS Design中的组件
b.将..\Program Files\Microsoft Visual Studio 8\VC\ce\Dll\armv4i下的有关MFC的 DLL拷贝到目录..:\WINCE600\PLATFORM下,当然也可以放到你认为可以放的目录下,然后配置你OS Design中所选择了BSP中的platform.bib .
c.重新编译OS
我的配置如下:
MODULES
; Name Path Memory Type
; ---------- ---------------------------------- -----------
;------------------------------------------------- ------------------------------
;Inorder support MFC and include the MFC dll
MFC80CHS.DLL $(_PLATFORMROOT)\MFC80CHS.DLL NK SHK
MFC80CHT.DLL $(_PLATFORMROOT)\MFC80CHT.DLL NK SHK
MFC80DEU.DLL $(_PLATFORMROOT)\MFC80DEU.DLL NK SHK
MFC80ENU.DLL $(_PLATFORMROOT)\MFC80ENU.DLL NK SHK
MFC80ESP.DLL $(_PLATFORMROOT)\MFC80ESP.DLL NK SHK
MFC80FRA.DLL $(_PLATFORMROOT)\MFC80FRA.DLL NK SHK
MFC80ITA.DLL $(_PLATFORMROOT)\MFC80ITA.DLL NK SHK
MFC80JPN.DLL $(_PLATFORMROOT)\MFC80JPN.DLL NK SHK
MFC80KOR.DLL $(_PLATFORMROOT)\MFC80KOR.DLL NK SHK
MFC80U.DLL $(_PLATFORMROOT)\MFC80U.DLL NK SHK
MFC80UD.DLL $(_PLATFORMROOT)\MFC80UD.DLL NK SHK
(2)通过Project->Add New SDK...创建一个SDK工程
进行一些配置,最重要的是在Additional Folders项中添加我们要添加的一些头文件,lib库文件以及源文件。
要添加了文件所在位置,如下:
mfc头文件:
..\Program Files\Microsoft Visual Studio 8\VC\ce\atlmfc\include
LIB文件:
..\Program Files\Microsoft Visual Studio 8\VC\ce\atlmfc\lib\armv4i
源文件:
..\Program Files\Microsoft Visual Studio 8\VC\ce\atlmfc\src
上面的这些都是"源路径"那么"Target路径"呢?"目标路径"都写的是相当路径,都是相对于如下路径的路径:
..\WINCE600\OSDesigns\NavDar\NavDar\SDKs\SDK2\obj\你自己配置的SDK名称
相对路径我们都设置成如下:
mfc头文件:
mfc\include
LIB文件:
mfc\lib\armv4i
源文件:
mfc\src
OK,这样使用"build all sdks..." 生成的SDK大小为18M左右。
参考博文:
http://www.yfeshop.cn/html/NETboke/200811/danjidaj ianWinCEkaifahuanjing_3362.html
这两天在调试RMC程序,这是一个WinCE下的"远程桌面"程序。由于在单位没有时间调,所以只能回家做,可家里又没实验板。好在Windows CE是有模拟器的,可以用模拟器代替实验板进行程序的调试。即便如此,还是碰到了一些问题,不过都一一解决了,写出来跟大家分享一下。
最早主机上已经安装了EVC4+SP4,VS2005+SP1+Platform Builder6.0+R2等 Windows CE的主要开发工具。既然没有实验板,那就定制一个中文的WinCE6.0的操作系统,再导出SDK,这不就解决了板子的问题吗?
思路是对了,可一动手就发现有问题。PB6.0中已经没有对MFC的支持。而目前很多程序都是基于MFC的,这要调试MFC的程序可怎么办?想了一想,系统要支持MFC,其实就是要几个DLL,把MFC相关的几个DLL加到NK.bin中不就行了?在Program Files\Microsoft Visual Studio 8\VC\ce\Dll\armv4的目录下找到了几个跟MFC相关的DLL。看来微软还没有彻底抛弃MFC,只是想让大伙少用。把这几个DLL拷贝到BSP对应的目录下,并修改platform.bib文件。第一个问题顺利解决。MFC加进去了,.NET Compact Framework那更是必须选上的,留条后路。^_^
为了让系统支持ActiveSync,在CATALOG里添加了相应的组件,这比较简单。问题是系统启动后得自己去创建一个连接,还要修改"PC连接"的选项才能用。不能这么麻烦,想个办法解决一下。建立好连接后,用驱动调试助手把对应的注册表信息导出来,放到platform.reg里去,这样重新编译完的系统就能直接使用ActiveSync了。需要说明一下的是,在使用时需要设置主机上的ActiveSync,让其支持DMA的连接方式。
到这里,终于完成了系统的定制。编译下载测试,基本达到了预期效果。接下来该导出SDK了。在导SDK的过程中发现MFC也没有相关选项的支持。这不又麻烦了,导出的SDK不能支持MFC,虽然VS2005支持使用MFC编写设备的程序。得想办法把MFC加进来。还是在Program Files\Microsoft Visual Studio 8\VC\ce\的目录下面有一个atlmfc的目录。这里面包括了MFC对应的头文件和库。在定制SDK的属性页Additional Folders中添加相关的项,最后编译安装,测试一切正常。注意在添加MFC时只选择armv4I的目录,要全部选可有好几百兆呢。
至此,我们就在单机上搭建好了完整的Windows CE的开发环境,不光是装了很多开发软件,连硬件都有了!很多想学Windows CE开发的学生就不用费心费力费钱去选板子,暂时用模拟器做入门的学习也是个不错的选择。
这里http://files.cnblogs.com/we-hjb/WINCE6.0CHSEMU.rar有WinCE6.0中文模拟器SDK的使用方法和实验的效果。
最后说明一下,Device Emulator为我们提供的Shared Folder可以实现文件共享,网络也没有问题,甚至串口打印信息都可以用text consol window来模拟。我们可以直接用VS2005来调程序,也可以用EVC来编写程序,通过文件共享放到WinCE6.0的模拟器中去执行,添加打印信息的调试方法在这里也可以使用。另外,文中定制的SDK可以在这里http://download.csdn.net/source/563215下载到。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/happenhappy/archive/2010/05/2 8/5630930.aspx
发表评论
-
Java EE 6 SDK+Eclipse JEE+Android ADT
2012-01-20 00:21 1426Java EE 6 SDK+Eclipse JEE+Andro ... -
VC6.0下WMI编程需要先安装Platform SDK
2012-01-20 00:21 1264VC6.0下WMI编程需要先安装Platform SDK 2 ... -
[转]Android开发环境搭建全程演示(jdk+eclipse+android sdk)
2012-01-20 00:21 641[转]Android开发环境搭建 ... -
家长会演讲稿( 小杨老师)
2012-01-19 01:15 551家长会演讲稿( 小杨老 ... -
升学宴演讲稿
2012-01-19 01:15 735升学宴演讲稿 2011年07月30日 尊敬的各位来宾: ... -
销售部门销售技巧演讲稿
2012-01-19 01:14 818销售部门销售技巧演讲 ... -
怎样写好演讲稿 转玉龙雪山
2012-01-19 01:14 697怎样写好演讲稿 转玉龙 ... -
2011-3-20
2012-01-17 00:34 5382011-3-20 2011年03月20日 ... -
计算机一级考点
2012-01-17 00:34 523计算机一级考点 2011年05月27日 1.1计算机概 ... -
《 微型计算机原理与接口技术 》期末复习资料
2012-01-17 00:34 836《 微型计算机原理与接 ... -
计算机练习题1
2012-01-17 00:34 1257计算机练习题1 2011年11月01日 一、单选题 ... -
一级计算机
2012-01-17 00:34 629一级计算机 2011年01月31日 1.1计算机概述 ... -
各位家长非常辛苦,其他老师也很辛苦,孩子也很辛苦。希望我们相互理解,用朋友的角度去商量让孩子变的好起来
2012-01-15 14:55 969各位家长非常辛苦,其他 ... -
094小学科学教育
2012-01-15 14:55 532094小学科学教育 2009年11月10日 全国2009 ... -
日记那点破事儿
2012-01-15 14:55 535日记那点破事儿 2011年0 ... -
初中的作文本
2012-01-15 14:55 590初中的作文本 2010年02 ... -
二年级写作
2012-01-15 14:55 530二年级写作 2010年04月18 ...
相关推荐
wince6.0 chs sdk是WinCE6.0开发环境(CHSINT SDK For WinCE 6.0)是在windows下开发wince程序的环境搭建和代码编写工具。很不错,值得收藏哦。
Wince6.0中文简体SDK开发包
介绍了wince6.0的sdk的定制过程,我是基于ok6410开发板的。
这个是wince6.0下的sdk,可以直接安装,是中文的,非常好用
在开发过程中用到的WINCE6.0模拟器,使用系统开发是可以模拟WINCE6.0操作系统运行 C#(CF)程序
自己编译的WinCE6.0 SDK ,好用,学习WinCE的好工具
wince6.0模拟器 wince模拟器 WINCE6.0_CHS_SDK
wince6.0 中文模拟器 及SDK制作
wince6.0 sdk开发包,是通过vs2005打包的。方便于别人直接来用。 自己亲自试用过,没有问题。
WinCE6.0中文模拟器的SDK,支持MFC。
wine6.0 SDK msi 安装包,可使用,并可以配合VS2008配置
WinCE6.0中文模拟器的SDK,可在VS2005当中使用,支持.NET Compact Framework2.0。
用于安装CAB文件,WinCE6.0下Wceload工具软件。 用于车机导航系统WINCE6.0,无法在文本框中输入任何文字,需要安装输入法,但系统没有CAB包安装程序wceload.exe ,也许是被精简掉了,这个时候就需要下载wceload.exe...
最近整理了一下 开发wince6.0的心得体会---wince 6.0 开发环境搭建 以及 wince6.0 流驱动开发的2种方法,与大家分享
vm wince6.0 虚拟机vm wince6.0 虚拟机vm wince6.0 虚拟机vm wince6.0 虚拟机vm wince6.0 虚拟机vm wince6.0 虚拟机vm wince6.0 虚拟机vm wince6.0 虚拟机vm wince6.0 虚拟机
Wince 6.0 开发入门教程,Wince 6.0 开发入门教程,Wince 6.0 开发入门教程,Wince 6.0 开发入门教程
具体安装可能要先装 "WinCE开发随书代码.exe" 再装 "ProgWinCE_SDK.msi" 不过貌似不装 "随书代码.exe" 也可以
windows CE 6.0 SDK 确保可以安装使用
网上资源part1 + part2,便于下载。 wince6.0 中文版的模拟器
wince6.0平台的搭建 安装VS2008、构建SDK、模拟器调试等