mytunet mobile 开发手记 03

来源:互联网 发布:知米英语官网 编辑:程序博客网 时间:2024/05/01 04:17

mytunetdll的移植.

 

现在需要在WinMobile上创建一个MyTunetDLL.dll. 当然还是按照win32下的MyTunetDll工程中所有文件的要求,把工程复制到Smart Device DLL模板工程中,同时删掉原有的一些rc,rc2等文件,而stdafx.h和stdafx.cpp也被删除.

 


现在编译出现了第一个问题.

Error    1    fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?    d:/Projects/mytunet-mobile/util.c    104

解决办法是:

在工程的properties->C/C++>Precompiled Headers, 将Create/Use Precompiled Header改为Not Using...

相当于取消了编译器的/Yu选项.

 


继续编译,第二个问题出现.缺少direct.h,io.h和pcap.h文件.

direct.h的作用可以查查Wikipedia.这是操作目录的一个标准库文件.io.h也是一个标准库文件.

查了一下,这些文件在WinMobile中都是没有实现的,主要原因是很多函数没有意义.解决方法是使用WindowsAPI来实现.

实际上下面这个网站给出了这些头文件和实现的WindowsAPI替代版本,可以直接放在工程目录中使用.

https://ella.pragmaticomm.com/svn/symbian-ruby/trunk/wince

 


 

第三个问题,在Windows Mobile中使用了socket的相应文件前要显式引用Winsock2.h.否则将会获得一大堆的编译错误...

这是因为,win32平台的windows.h默认引用了winsock.h,而windows mobile则非如此.

 


此外,还有一大项内容,就是原先在Mytunetdll.dll中对于mytunet service的支持.在手机中,就把服务功能去掉好了,windows mobile中的服务机制目前还完全不懂...

 


pcap.h的问题和在win32平台下的问题一致,WinMob的标准库内缺少Winpcap.这个放到后面再说.

 

好了,只剩下Winpcap的问题了.

 

 

 

原创粉丝点击