📄 wince开发环境搭建 - fine_peng - 网易博客.txt
字号:
WinCE开发环境搭建 - fine_peng - 网易博客 网易博客| 空间服务| 搜 索 日志相片音乐标签作者登录| 注册| fine_peng的博客
首页 日志 相册 音乐 收藏 好友 关于我 日志 PCB各板层含义Emulator for Win CE
安装中有一个或多个文件丢失 的问题
字号: 大大 中中 小小 WinCE开发环境搭建WinCE开发环境搭建(作者:gliethttp)
一.搭建软件开发环境eVc++4.0和模拟器Pocket PC 2003
请务必按以下顺序依次安装
<1>ActiveSync.exe
//微软嵌入式开发同步软件
<2>eVc4.exe
//evc4开发环境
<3>eVc4sp4.exe
//evc4补丁文件
<4>Microsoft Pocket PC 2003 SDK.msi
//ppc模拟器
<5>Windows Mobile 2003 Second Edition Emulator Images for Pocket PC.msi
//ppc安装image文件
这样就可以在PC上开发ce上的纯软件了.
二.Platform Builder 4.2安装
为了定制ce和开发新的驱动程序,需要安装Platform Builder 4.2
下载地址:http://download.microsoft.com/download/5/B/D/5BDE7E3D-4E9F-4D58-9633-A21BF59A6B32/winceemul42.exe
至此,我们已经完成了WinCE开发环境的搭建工作,接下来就是我们自己的努力了!
eVC 4 Sp4
VS.net 2003 .net CF1.0
VS.net 2005 .net CF2.0
Windows Mobile 2003 Second Edition Emulator CHS
PocketPC 2003 SDK
也许是战略原因,很早前微软就把CE的源码开放,我就有几个版本。
他的强项的编译器、开发工具都可以直接在MSDN上下载
强大的IDE和编译器、调试器以及MFC框架、.net框架,都是他软件制胜的法宝。这一块他明显就是鼓励应用软件的丰富。
这不,codeproject上直接有PPC遥控器的源码,即使拿来改编一下,也不得不接触WinCE开发。
网上这方面的资料不是很多,而且这几年没什么变化,也许是用户群的问题吧。
先摆平开发环境吧:
早期的开发用嵌入式VC 最新版本Microsoft eMbedded C++
4.0,跟VC6程序框架一模一样,只是专门针对嵌入式开发的。和VC的补丁一样,他也不断在发补丁,最新的是SP4
当然VS.net
2003以后就把这块开发集成进来,轮为.net阵营的一部分,可以使用C#快速开发WinCE程序,也伴有专门的调试编译环境。但似乎主要是推他的.net,有专门的.net
CF(精简框架),也就是说,在PPC上运行也必须要个.net FrameWork。
我看一些资料说,由于.netCF的定位,这块开发应该定位在快速开发上,对底层的一些编程似乎还是依赖eVC来做。 .net CF2里面会增强很多。
正如我对待.net
j2ee一样,把他们拿来做快速企业开发,非常合适,但是拿来写驱动,做底层桌面工具,似乎还是得用到传统C++/SDK。因此,推荐快速开发(比方写一个ERP系统的手持模块,用.net再合适不过了)使用VS2003等。
VS2005 beta好久了,据说今年会推出,这一块.netCF2.0增强不少,相信开发调试会更加便捷。底层桌面开发也似乎也可以集成进来。
当然,除了IDE自带的.net 框架,嵌入式MFC框架做快速开发以外,还要CEOS 的SDK,微软是在不断的更新他的CE版本,现在WM2003
SE,各种语言的版本,也推出了专门的SDK,装上了才能使用高级功能。
还有方便调试用的虚拟机,跑Windows Mobile各种版本的bin,结合IDE快速调试。模拟器是很重要的。
开发一个CE程序,就需要这些:都可以微软官方免费下载到:
eVC4.0
http://download.microsoft.com/download/WindowsCENETPlatformBuilder/Install/4.0/NT5XP/EN-US/eVC4.exe
序列号:TRT7H-KD36T-FRH8D-6QH8P-VFJHQ
eVC4.0 SP4
http://download.microsoft.com/download/a/7/3/a735c7fb-dcbd-429f-9090-d09b3b15d3fa/evc4sp4.exe
PocketPC2003SDK
http://download.microsoft.com/download/6/9/5/69570242-44e8-45e6-a252-9bd56db8ec83/Microsoft%20Pocket%20PC%202003%20SDK.msi
WM2003SE CHS模拟器
http://download.microsoft.com/download/e/2/8/e28792ca-d04b-407b-9b18-75b9128f0cc9/Windows%20Mobile%202003%20Second%20Edition%20Emulator%20Images%20for%20Pocket%20PC%20-%20CHS.msi
最近读者
凌风 b03041026 lijixue lqh0520
分享(0) 评论(0) 分类:默认分类343次阅读 2008-02-19 10:18
我要登录 ->
公司简介- 联系方法- 招聘信息- 客户服务- 相关法律- 用户反馈- 举报不良信息-
网易公司版权所有 ©1997-2008
JSWindow
正在加载中... {if coms != null && coms.length != 0} <div id="comShowHeader_${parentId}" class="g_h_20 g_c_mgin"> <span class="g_p_right g_c_hand n_ n7" style="margin-left:10px" onclick="${containerObjName}.closeComments('${parentId}');return false;" title="关闭"> </span> <ul class="g_menu_09 g_w_at com_page"> <li> {if (coms != null) && (comCount > (commentRange * pageNum))} <a id="spnNextPage_${parentId}" class="g_c_noul c06" href="#" onclick="${containerObjName}.moveToPage(${pageNum} + 1, true);return false;">下页</a> {else}<span class="c09">下页</span>{/if} </li> <li><span class="ckck c07">${pageNum}/${totalPageNum}</span></li> <li> {if pageNum > 1} <a id="spnPrevPage_${parentId}" class="g_c_noul c06" href="#" onclick="${containerObjName}.moveToPage(${pageNum} - 1, true);return false;">上页</a> {else}<span class="c09">上页</span>{/if} </li> </ul> </div> <div class="g_p_hide g_c_mgin g_table" id="comShowContent_${parentId}"> {for com in coms} <table class="g_w_100 bd1b g_com_table" border="0" cellspacing="0" cellpadding="0"> <tr> <td class="layout_l"> {if com.publisherName != null && com.publisherName != ""} <a href="http://${com.publisherName|parentDomain}${prefix}/" target="_blank"> {if com.publisherAvatar==null || com.publisherAvatar==0 || com.publisherAvatar==-1000} <img class="g_img_04 g_c_hand bd01" id="imgPubPic_${com.id}" src="${formatImageUrl(defaultVisitorAvatarUrl)}" onerror="this.src='http://st.blog.163.com/style/common/stranger.gif'"/> {else} <img class="g_img_04 g_c_hand bd01" id="imgPubPic_${com.id}" src="${formatImageUrl(com.publisherAvatarUrl)}" onerror="this.src='http://st.blog.163.com/style/common/stranger.gif'" /> {/if} </a> <div class="g_t_hide nick"><a id="aComPubName_${com.id}" class="g_p_block g_h_20 c05" href="http://${com.publisherName|parentDomain}${prefix}/" title="${com.publisherNickname|escape}" target="_blank"> {if com.publisherId == hostId}<span class="n_ m9com" title="博主"> </span>{/if}${com.publisherNickname|escape}</a></div> {else} <span class="g_p_block g_h_20 g_t_hide g_w_100 c08 t_12">${com.publisherNickname|escape}</span> <div class="c09 g_w_95 t_12" style="padding-top:8px">${com.ipName}</div> {/if} </td> <td class="layout_r"> <table class="g_w_100"> <tr> <td class="t"><div class="c g_t_wrap c07" id="comContent${com.id}">${com.content}</div></td> </tr> <tr> <td colspan="3" class="b"> {if supportDeleteComment == true && visitorId == hostId} <a class="c06 g_p_right g_c_ul" id="delcomm_${com.id}" onclick="${containerObjName}.deleteComment('${com.id}');return false;" href="#">删除</a> <nobr class="bd1c g_p_right md"> | </nobr> {/if} {if noCommentRight == false} {if com.publisherName != null && com.publisherName != ""} <a id="comReply_${com.id}" class="c06 g_p_right g_c_ul " onclick="${containerObjName}.reply('${com.id}',true,'${com.publisherNickname|escape|js_string}','${com.publisherName|parentDomain}${prefix}');return false;" href="#">回复</a> {else} <a id="comReply_${com.id}" class="c06 g_p_right g_c_ul " onclick="${containerObjName}.reply('${com.id}',false,'${com.publisherNickname|escape|js_string}','${com.ipName}');return false;" href="#">回复</a> {/if} {/if} <span class="g_p_right c09 tim md"> ${NetEase.DateTime.formatRecentDate(com.publishTime,"yyyy-MM-dd HH:mm")}</span> {if !isHomeModule && com.circleId>0}<span class="g_p_left c09">来源: <span class="c06">[</span><a class="c06" href="${circleBaseUrl}/${com.circleUrlName}/" target="_blank">${com.circleName}</a><span class="c06">]</span></span>{/if} </td> </tr> </table> </td> </tr> </table> {/for} </div> <div class="g_h_20 bd1b g_c_mgin"> <ul class="g_menu_09 g_w_at com_page"> <li> {if (coms != null) && (comCount > (commentRange * pageNum))} <a id="spnNextPage_${parentId}" class="g_c_noul c06" href="#" onclick="${containerObjName}.moveToPage(${pageNum} + 1, true);return false;">下页</a> {else}<span class="c09">下页</span>{/if} </li> <li><span class="ckck c07">${pageNum}/${totalPageNum}</span></li> <li> {if pageNum > 1} <a id="spnPrevPage_${parentId}" class="g_c_noul c06" href="#" onclick="${containerObjName}.moveToPage(${pageNum} - 1, true);return false;">上页</a> {else}<span class="c09">上页</span>{/if} </li> </ul> </div> {else} {if noCommentRight == false} <div id="comShowHeader_${parentId}" class="g_h_20 g_c_mgin"> <span class="g_p_right g_c_hand n_ n7" onclick="${containerObjName}.closeComments('${parentId}');return false;" title="关闭" > </span> </div> {/if} {/if} <div class="g_c_pdin"> {if (noCommentRight == true)} <div class="loginsection"> {if allowComment == 0} <span class="n_ n21"> </span>登录后你可以发表评论,请先登录。 </span><a href="#" onclick="showLoginDlg(DomainMap.serverHostName);return false;">登录>></a> {elseif allowComment == 100} {if visitorRank==-100} <span class="n_ n21"> </span>登录并添加博主为好友、通过对方确认后可以发表评论,请先登录。 <a href="#" onclick="showLoginDlg(DomainMap.serverHostName);return false;">登录>></a> {elseif visitorRank ==0} <span class="n_ n21"> </span>添加博主为好友、通过对方确认后可以发表评论,请先加为好友。 <a id="AComment${parentId}" href="#" onclick="pageTopBar.showAddFriend();return false;">加为好友>></a> {/if} {elseif allowComment == 10000} <span class="n_ n21"> </span>该内容仅供欣赏。 {/if} </div> {else} <div> {if visitorRank <= -100} <div class="g_layout_05 g_h_25 g_t_left" style="margin-bottom:7px;"> <input type="text" id="username${parentId}" style="width:170px;" class="bd01 g_t_disable nvb g_c_input" name="username${parentId}" value="${userName}" maxlength="18"/> <a class="c06" href="#" onclick="showLoginDlg(DomainMap.serverHostName);return false;">我要登录 -></a> </div> {else} <div class="g_layout_05"> <div class="l g_t_left"> {if visitorAvatarDefault == true} <img class="g_img_04 bd01" src="${formatImageUrl(defaultVisitorAvatarUrl)}" onerror="this.src='http://st.blog.163.com/style/common/stranger.gif'" width="60px" height="60px" title="显示头像"> {else} <img class="g_img_04 bd01" src="${formatImageUrl(visitorAvatar)}" onerror="this.src='http://st.blog.163.com/style/common/stranger.gif'" width="60px" height="60px" title="显示头像"> {/if} </div> <div class="r g_t_left"><input class="bd01 g_t_disable vb g_c_input" style="width:170px;" id="username${parentId}" name="username${parentId}" value="${userName}" type="text" maxlength="18"/></div> <div class="g_p_clear g_t_space"> </div> </div> {/if} <div class="g_c_smvdn bd01" id="edt${parentId}"></div> <div id="validCode${parentId}" class="g_c_mvdn g_t_left g_h_25" style="display:none;"></div> <div class="g_h_30 g_c_mvdn g_t_left g_w_100"> <input class="g_c_button bd01 butn" id="$$_pubbtn${parentId}" onclick="${containerObjName}.addComment('${parentId}'); return false;" type="submit" {if disabled == true}disabled="true" {/if} value="发表评论" {if hasCancelBtn==false}style="font-weight:700;"{/if}/> {if hasCancelBtn}<input class="g_c_button bd01 butn" id="$$_comcancelbtn${parentId}" onclick="${containerObjName}.closeComments('${parentId}');return false;" type="submit" {if disabled == true}disabled="true" {/if} value="取 消"/>{/if} <span id="$$_comsubmithint${parentId}" style="display:none;"></span> </div> </div> {/if} </div>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -