vs2008下wcecompat库的编译

时间:2022-01-19 07:00:45

    wcecompatwindows CE下的C运行库兼容库,对系统自带的C库做了很多补充,一般我们先再要使用的平台上编译源码,然后在工程中引用头文件和静态库。

编译它主要有两种方法,一是使用vs自带的命令行工具,缺点是有错误不容易改,另一个就是建个静态库工程,有的源码自带工程,使用vs界面编译。两种方法都要小小的配置一下,更郁闷的是源码编译还有错误,下面听我慢慢道来。

     首先看在工程下编译,首先设置好编译平台,我的是windowsmobile 6,有可能在ts_string.h, ts_string.cpp出现const unsigned short*无法转化为constwchar_t*的错误,我们在这两个文件中用wchar_t直接替换掉unsignedshort,编译前项目包含文件夹include下的目录。什么?还有错误,慢慢分析一下吧。

看第二种方法,在vs2008的控制台下编译,用的命令是nmake,在此之前先设置一下wce的环境变量,为此我们建一个执行脚本script.bat

set PATH=C:/Program Files/Microsoft VisualStudio 9.0/VC/ce/bin/x86_arm;%PATH%

set INCLUDE=C:/Program Files/MicrosoftVisual Studio 9.0/VC/ce/include;C:/Program Files/Windows Mobile 6SDK/PocketPC/Include/Armv4i;C:/Program Files/Microsoft Visual Studio9.0/VC/ce/atlmfc/include;%INCLUDE%

set LIB=C:/Program Files/Windows Mobile 6SDK/PocketPC/Lib/ARMV4I;C:/Program Files/Microsoft Visual Studio9.0/VC/ce/atlmfc/lib/armv4i;C:/Program Files/Microsoft Visual Studio9.0/VC/ce/lib/armv4i;%LIB%

 

set OSVERSION=WCE501

set TARGETCPU=ARMV4I

set PLATFORM=VC-CE

set WCECOMPAT=G:/wcecompat/wcecompat

    编译之前运行一下上个脚本,然后启动vs控制台,cd到源码的文件夹下,输入nmake回车,有可能提示Unexpected OSVERSION environment variable value错误,原因是你的ce版本在配置文件中没找到,需要修改一下配置文件。打开wcedefs.mak文件,在上面的一段判断的位置添加上

!ELSEIF"$(OSVERSION)"=="WCE501"

WCEVERSION=501

WCELDVERSION=5.01

     都是写代码的,我相信你行的,保存重新配置环境编译一下,有可能出现const unsigned short*无法转化为constwchar_t*的错误,这和界面下出现的错误一样了,修改一下源码吧。

     好了,编译到此结束,使用主要是文件夹includelib库,一般在wince下使用openssl时要用到这个库。