VS2008中WTL开发windows mobile的配置

                                                               VS2008中WTL开发windows mobile配置

      这段时间从MFC转到WTL做开发,以为环境配置很简单,结果自己一弄,才知道那是相当的不好玩,麻烦,不过还好,网上的一些好人们都把解决方法弄出来了,很开心,在这里分享一下,希望以后对其他朋友和喜欢忘事的我一个帮助。

     我的机器配置:vs2008+SP1+XP系统。

下面介绍我的安装过程:

1.下载安装wtl8.0(http://sourceforge.net/projects/wtl/这个网上说是wtl8.1的,可我下下来发现是wtl8.0的,但是我使用的也正是这个)或者wtl8.1(http://download.chinaprj.cn/link.php?key=iDEBsqEi&url=http%3A%2F%2Fdlwt.csdn.net%2Ffd.php%3Fi%3D286620551334768%26s%3Df729b30bc245eca2a0ccb84d026d3fe7)。

2。对于wtl8.0,解压安装后的目录为C:/WTL80/AppWizMobile 下面是网上一些高手对.js文件的修改

   1>打开AppWizCE下的Files/WTLAppWizCE.vsz将Wizard=VsWizard.VsWizardEngine改Wizard=VsWizard.VsWizardEngine.9.0。

打开AppWizMobile下的Files/WTLMobile.vsz,找到第二行的Wizard=VsWizard.VsWizardEngine.8.0将其改成Wizard=VsWizard.VsWizardEngine.9.0.

   2>分别打开两个目录下的Files/HTML/1033/AppType.htm, default.htm, Platforms.htm,

UIFeatures.htm,找到classid="CLSID:D245F352-3F45-4516-B1E6-04608DA126CC",修改成classid="CLSID:5AFCAD52-F3CC-43BB-A605-6602EE5BD94A";

   3>分别打开AppWizCE和AppWizMobile两个目录下的Files/Scripts/1033/default.js,找到new ActiveXObject("ProjWiz.SDProjWiz2.2");改成new ActiveXObject("ProjWiz.SDProjWiz2.3");

   4>.分别打开AppWizCE和AppWizMobile两个目录下的Files/Templates/1033/stdafx.h,找到#include ,在这句话之前加上#define _SECURE_ATL 1

   5>下面你就可以安装了,如果你是wtl8.0,那需要将setup80.js这个文件打开,将这个文件中的8.0全部替换为9.0,然后双击运行;如果是WTL81_9127,那就直接运行setup80.js这个文件;(我开始装了UtraEdit,将所有的文件都以该软件打开,所以双击之后没效果,O(∩_∩)O~ 下面是在命令行模式下运行:wscript.exe  C:/WTL80/AppWizMobile/setup80.js),如果还是不行,那么请修改注册表,打开HKEY_CLASSES_ROOT/.js 将默认值改成JSFile,这样双击.js就可以运行安装程序了,安装完毕会出现对话框提示安装成功。

   6>现在你可以去查看你的vs2008的安装向导,发现你多了一个WTL Mobile App的安装向导,现在还不要新建WTL项目,还有WTL的Include文件没有引入,引入方式:打开2008的工具->选项,在打开的选项中找到项目和解决方案->VC++目录,在右侧的平台下拉列表中选择Mobile的平台,比如Windows Mobile 6 Professional,旁边的显示以下内容目录下拉列表中选择包含文件,下面新加一个包含目录,就是我们之前解压的目录:C:/WTL81/Include,确定之后就设置完了.

   7>新建一个项目试试吧,在我的机器上建立WTL Mobile Application完成向导时会出现错误:无法访问所需文件的数据,因为它处于僵停状态。可是工程还是生成了,运行只用两个警告没有错误。不知道如何解决,请各位高手赐教。

   如果你在编译时遇到以下问题:

  1。找不到atlapp.h文件,解决方法,1》你安装我的第六步严格操作,2》你可以直接将wtl8.0下的include中的头文件全部拷贝到C:/Program Files/Microsoft Visual Studio 9.0/VC/ce/include下;

   2。若是遇到如lstrcpyA这类函数找不到,或者size_t没用构造函数,请在你的stdafx.h中的#include 前加入如下代码:

#if _ATL_VER == 0x900
#define _SECURE_ATL 1
#endif

 

在开发WM6的项目时,部署有时会出现问题,提示"系统找不到指定的文件",下面是网上的解决方法:
1,打开项目属性。

2,在“配置属性/调试”中,“要启动的调试器”中选“智能设备本机调试器”。

3,在“配置属性/部署”中,“附加文件”中全部清除。部署错误的原因就是这里面有些文件在 VS2008 中找不到。

 

 

你可能感兴趣的:(VS2008中WTL开发windows mobile的配置)