阅读:3075回复:4
WM5 PPC SDK中没有Sdcardlib.lib?
我的环境是VS2005+Mobile5 PPC SDK,在C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Pocket PC SDK\Lib\ARMV4I中没有Sdcardlib.lib,而在include文件夹中是有sdcarddk.h的,这样导致以下代码编译时报错:
HANDLE hSdcDev; hSdcDev = RegisterDevice( TEXT("DSK"), 1, TEXT("SDMemory.dll"),0); if(hSdcDev == INVALID_HANDLE_VALUE) { printf("not able register device.: %d", GetLastError()); } HANDLE Handle; printf("get the handle\n"); Handle = CreateFile(L"DSK1:",GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); if(Handle == INVALID_HANDLE_VALUE) { printf("not able get the handle.: %d", GetLastError()); } SD_API_STATUS status; SD_PARSED_REGISTER_CID stcid = {0}; SD_PARSED_REGISTER_CID *pRedCID = NULL; status = SDCardInfoQuery(Handle, SD_INFO_REGISTER_CID, pRedCID, sizeof(SD_PARSED_REGISTER_CID)); 报错如下:sd_demoDlg.obj : error LNK2001: unresolved external symbol g_SDClientApiFunctions Windows Mobile 5.0 Pocket PC SDK (ARMV4I)\Release\sd_demo.exe : fatal error LNK1120: 1 unresolved externals 请问如何处理 |
|
沙发#
发布于:2007-03-22 15:58
Mobile里面很多底层开发用的的库和头文件都需要去 WinCE Platform Builder里面找,不知道本站的下载里面有没有
|
|
|
板凳#
发布于:2007-03-23 15:53
在WinCE Platform Builder也没有,但是MSDN上说,要调用SDCardInfoQuery等等SD API的函数需要Sdcardlib.lib和sdcarddk.h
|
|
地板#
发布于:2007-03-23 19:49
如果你有装wince5.0的话,应该在public下就有的....
\PUBLIC\COMMON\OAK\DRIVERS\SDCARD\SDCARDLIB\ 这个目录下生成了sdcardlibbase.lib 在\PUBLIC\COMMON\CESYSGEN\下会再link几个lib,最后生成一个sdcardlib.lib 至于sdcardddk.h在\PUBLIC\COMMON\DDK\INC\也有.... 应该可以满足你的link需要.... 话说回来,我是觉得这个函数是个ddk的driver函数,而且sdmemory.dll里面也没有导出这个函数....就这么直接用总感觉不妥....msdn里面写了这个函数,我也觉得有点奇怪.......... -------------------------- 说的不好,大家不要骂我 |
|
地下室#
发布于:2007-03-25 16:57
引用第3楼lowiq于2007-03-23 19:49发表的“”: 怎么生成sdcardlibbase.lib? 怎么再link几个lib,最后生成一个sdcardlib.lib?哪几个lib?谢谢 |
|