想截获短消息,用RIL_NOTIFY_MESSAGE,编译出错

phoenixdz 2007-06-21 01:34:45
在源代码中添加了ril.h工程里也加了ril.lib,提示下面的错误,请问高手怎么解决?
多了下面的ril api函数
HRESULT hr = RIL_Initialize(1, RILResultProc, RILNotifyProc, RIL_NCLASS_ALL, NULL, &g_hRil);
RIL_Deinitialize(g_hRil);

出错信息如下:
1>ril.lib(status.obj) : error LNK2019: unresolved external symbol ValidateAPIPermission referenced in function RIL_Deinitialize
1>ril.lib(main.obj) : error LNK2019: unresolved external symbol "int __cdecl _sntprintfz(unsigned short * const,unsigned int,unsigned short const * const,...)" (?_sntprintfz@@YAHQAGIQBGZZ) referenced in function "public: int __cdecl CUniquelyNamedEvent::Init(int,int,unsigned short *)" (?Init@CUniquelyNamedEvent@@QAAHHHPAG@Z)
1>ril.lib(main.obj) : error LNK2019: unresolved external symbol "bool __cdecl GetRegistryDWORD(struct HKEY__ * const,unsigned short const * const,unsigned short const * const,unsigned long * const)" (?GetRegistryDWORD@@YA_NQAUHKEY__@@QBG1QAK@Z) referenced in function DllMain
1>ril.lib(common.obj) : error LNK2019: unresolved external symbol "bool __cdecl strReadable(char const *)" (?strReadable@@YA_NPBD@Z) referenced in function "int __cdecl ValidateStringA(char const * const,unsigned int,int)" (?ValidateStringA@@YAHQBDIH@Z)
1>ril.lib(common.obj) : error LNK2019: unresolved external symbol "bool __cdecl wcsReadable(unsigned short const *)" (?wcsReadable@@YA_NPBG@Z) referenced in function "int __cdecl ValidateStringW(unsigned short const * const,unsigned int,int)" (?ValidateStringW@@YAHQBGIH@Z)
1>Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\Debug/testforwin32ril.exe : fatal error
...全文
731 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jeffbao 2008-11-20
  • 打赏
  • 举报
回复
是不是NO_RIL = 1了?!ProjectName.bat里面有设置过吗。
xqhrs232 2008-11-19
  • 打赏
  • 举报
回复
问一下,我的PB产生不了RIL。DLL是什么原因!
xqhrs232 2008-11-18
  • 打赏
  • 举报
回复
执行的时候,返回句柄无效的错误码!!!
xqhrs232 2008-11-18
  • 打赏
  • 举报
回复
我因为遇到了这个编译问题!!!
knowledge_Is_Life 2008-05-01
  • 打赏
  • 举报
回复
不会,帮顶
guguqiaqia 2008-03-20
  • 打赏
  • 举报
回复
像这种链接错误,大多是没有嵌入lib库的原因。

spirit_sheng 2008-03-17
  • 打赏
  • 举报
回复
我也碰到类似问题, 而且已经解决
按楼主的做法, 可以找到这些函数需要的lib文件, validateapi.lib toolbox.lib
但这样编译虽然能通过, 但运行时会出问题

此问题的根本原因是, 链接的ril.lib文件为静态链接的lib, 非调用ril.dll的lib
解决方法有两种:
1. 显式加载DLL, 使用LoadLibrary, GetProcAddress, FreeLibrary
2. 隐式加载DLL, 需要自己生成动态链接的ril.lib文件, 使用命令行 lib.exe
根据目标平台的不同, 命令行有所不平, 例如: 对于ARM平台, 命令行如下:
lib /MACHINE:ARM /DEF:ril.def
注: 这里需要的 ril.def 文件, 在工具包中可以找到
tong20037 2007-07-05
  • 打赏
  • 举报
回复
lz,能有效的截获短消息吗?
phoenixdz 2007-06-21
  • 打赏
  • 举报
回复
已经解决了,自己想了一种最原始的方法,去搜索需要的函数所在的头文件,然后再估计所要的库,添加进去就可以编译通过了。

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧