今天碰到一个问题,弄了变天,不成,刚好看到一帖子。。。。如何将EVC4工程升级到VS.NET2005工程

大家知道 MOBIL5.0 开始, EVC4 开发的工程就无法进行 DEBUG 了,而必须使用 VS.NET2005 中的 VC++ 来实现。但是以前我们费了很大心力做成的项目,也不能重新来写。

       这里我们以 DIALOG BASED 工程为例。首先用 EVC4 建立一个 DIALOG BASED POCKET PC 2003 工程。此工程名我们暂定为 TXDEMO 。我们也可以在对话框放置一个 BUTTON ,在单击事件里,添加 AfxMessageBox(L”Test”); 以便升级到 VS.NET 2005 后,测试资源对应情况。

       此时,保存 TXDEMO 工程,并关闭掉 EVC4 开发工具。此时用 VS.NET 2005 打开 TXDEMO.VCW 工程,并接受转换请求。此时并将编译环境切换到 Windows Mobile 5.0 pocket pc sdk 。编译工程,此时会提示如下错误:

 

1>C:/Program Files/Microsoft Visual Studio 8/VC/ce/atlmfc/include/afxver_.h(77) : fatal error C1189: #error :  Please use the /MD switch for _AFXDLL builds

 

这里我们通过打开 Project properties 对话框里,切换到 C/C++->Code generation 页,将 Runtime Libarary 设置成“ Multi-threaded DLL(/MD) ”。即可解决此问题。

 

接着编译工程,此时会提示如下错误:

1>./TXDEMO.rc(170) : fatal error RC1015: cannot open include file 'wceres.rc'.

 

这里我们需要在TXDEMO.RC 文件里,将#include "wceres.rc" 注释掉。

//#include "wceres.rc"      // WCE-specific components

 

接着编译工程,此时会提示如下错误:

1>corelibc.lib(wwinmain.obj) : error LNK2019: unresolved external symbol wWinMain referenced in function wWinMainCRTStartup

1>Windows Mobile 5.0 Pocket PC SDK (ARMV4I)/Debug/TXDEMO.exe : fatal error LNK1120: 1 unresolved externals

此时,我们依旧打开 project properties 对话框,切换到 Linker->Advanced 页,将 Entry Point wWinMainCRTStartup 改成 WinMainCRTStartup

 

此时再次编译,系统不在提示错误,但是编译好的程序,还不能在模拟器或者 MOBILE5.0 POCKET PC 的机器上运行。

 

我们接着设置项目属性,在 Configuration Properties->Gengeral 页将 Use of MFC ,改成静态连接。

 

此时我们运行程序 ,您会发现程序启动后,就立刻退去。经过我的研究,发现是加载对话框资源失败,在此我们再此打开 TXDEMO.RC 源文件,

找到 IDD_TXDEMO_DIALOG DIALOG DISCARDABLE  0, 0, 130, 90 语句,将下面的窗体属性改成如下,即可。

WS_POPUP | WS_VISIBLE | WS_CAPTION

此时,再次编译工程,你可以进行DEBUG 并可以运行程序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值