CE6下SD卡驱动的问题

LanceJin 2008-07-14 10:37:30
使用环境VS2005+CE6 R2,每月更新更新到2008年4月.SD卡驱动以6.0下DEVICEEMULATOR目录下(S3C2410)为模本.比较了CE6下另两个SD驱动(ARUBABOARD/SMDK2443).现在的问题是编译时提示链接错误,错误信息如下,请各个大仙踊跃发言,提点提点,Sources信息等贴在后面

Linking C:\WINCE600\platform\FlyCarMutliMedia\target\SH4\debug\SDHC_SH7764.dll
SDBUS2_LIB.lib(sdbus.obj) : error LNK2019: unresolved external symbol "public: __cdecl DefaultBusDriver::DefaultBusDriver(unsigned short const *)" (??0DefaultBusDriver@@QAA@PBG@Z) referenced in function "public: __cdecl CSDHostContainer::CSDHostContainer(unsigned short const *)" (??0CSDHostContainer@@QAA@PBG@Z)
SDBUS2_LIB.lib(sdbus.obj) : error LNK2001: unresolved external symbol "public: virtual int __cdecl DefaultBusDriver::TranslateChildBusAddr(struct _CE_BUS_TRANSLATE_BUS_ADDR *)" (?TranslateChildBusAddr@DefaultBusDriver@@UAAHPAU_CE_BUS_TRANSLATE_BUS_ADDR@@@Z)
SDBUS2_LIB.lib(sdbus.obj) : error LNK2001: unresolved external symbol "public: virtual int __cdecl DefaultBusDriver::TranslateChildSystemAddr(struct _CE_BUS_TRANSLATE_SYSTEM_ADDR *)" (?TranslateChildSystemAddr@DefaultBusDriver@@UAAHPAU_CE_BUS_TRANSLATE_SYSTEM_ADDR@@@Z)
SDBUS2_LIB.lib(sdbus.obj) : error LNK2001: unresolved external symbol "public: virtual int __cdecl DefaultBusDriver::SetChildDevicePowerState(struct _CE_BUS_POWER_STATE *,class DeviceFolder * *)" (?SetChildDevicePowerState@DefaultBusDriver@@UAAHPAU_CE_BUS_POWER_STATE@@PAPAVDeviceFolder@@@Z)
SDBUS2_LIB.lib(sdbus.obj) : error LNK2001: unresolved external symbol "public: virtual int __cdecl DefaultBusDriver::GetChildDevicePowerState(struct _CE_BUS_POWER_STATE *,class DeviceFolder * *)" (?GetChildDevicePowerState@DefaultBusDriver@@UAAHPAU_CE_BUS_POWER_STATE@@PAPAVDeviceFolder@@@Z)
SDBUS2_LIB.lib(sdbus.obj) : error LNK2001: unresolved external symbol "public: virtual int __cdecl DefaultBusDriver::SetChildDeviceConfigurationData(struct _CE_BUS_DEVICE_CONFIGURATION_DATA *,class DeviceFolder * *)" (?SetChildDeviceConfigurationData@DefaultBusDriver@@UAAHPAU_CE_BUS_DEVICE_CONFIGURATION_DATA@@PAPAVDeviceFolder@@@Z)
SDBUS2_LIB.lib(sdbus.obj) : error LNK2001: unresolved external symbol "public: virtual int __cdecl DefaultBusDriver::GetChildDeviceConfigurationData(struct _CE_BUS_DEVICE_CONFIGURATION_DATA *,class DeviceFolder * *)" (?GetChildDeviceConfigurationData@DefaultBusDriver@@UAAHPAU_CE_BUS_DEVICE_CONFIGURATION_DATA@@PAPAVDeviceFolder@@@Z)
SDBUS2_LIB.lib(sdbus.obj) : error LNK2001: unresolved external symbol "public: virtual int __cdecl DefaultBusDriver::ActivateChild(unsigned short const *)" (?ActivateChild@DefaultBusDriver@@UAAHPBG@Z)
SDBUS2_LIB.lib(sdbus.obj) : error LNK2001: unresolved external symbol "public: virtual int __cdecl DefaultBusDriver::DeactivateChild(unsigned short const *)" (?DeactivateChild@DefaultBusDriver@@UAAHPBG@Z)
SDBUS2_LIB.lib(sdbus.obj) : error LNK2001: unresolved external symbol "public: virtual int __cdecl DefaultBusDriver::Open(unsigned long,unsigned long)" (?Open@DefaultBusDriver@@UAAHKK@Z)
SDBUS2_LIB.lib(sdbus.obj) : error LNK2001: unresolved external symbol "public: virtual class DeviceFolder * __cdecl DefaultBusDriver::GetChildByName(unsigned short const *,class DeviceFolder * *)" (?GetChildByName@DefaultBusDriver@@UAAPAVDeviceFolder@@PBGPAPAV2@@Z)
SDBUS2_LIB.lib(sdbus.obj) : error LNK2001: unresolved external symbol "public: virtual int __cdecl DefaultBusDriver::InsertChild(class DeviceFolder *)" (?InsertChild@DefaultBusDriver@@UAAHPAVDeviceFolder@@@Z)
SDBUS2_LIB.lib(sdbus.obj) : error LNK2001: unresolved external symbol "public: virtual int __cdecl DefaultBusDriver::RemoveChildByName(unsigned short const *)" (?RemoveChildByName@DefaultBusDriver@@UAAHPBG@Z)
SDBUS2_LIB.lib(sdbus.obj) : error LNK2001: unresolved external symbol "public: virtual int __cdecl DefaultBusDriver::RemoveChildByFolder(class DeviceFolder *)" (?RemoveChildByFolder@DefaultBusDriver@@UAAHPAVDeviceFolder@@@Z)
SDBUS2_LIB.lib(sdbus.obj) : error LNK2001: unresolved external symbol "public: virtual int __cdecl DefaultBusDriver::FastIOControl(unsigned long,unsigned char *,unsigned long,unsigned char *,unsigned long,unsigned long *,class DeviceFolder * *)" (?FastIOControl@DefaultBusDriver@@UAAHKPAEK0KPAKPAPAVDeviceFolder@@@Z)
SDBUS2_LIB.lib(sdbus.obj) : error LNK2019: unresolved external symbol "public: virtual __cdecl DefaultBusDriver::~DefaultBusDriver(void)" (??1DefaultBusDriver@@UAA@XZ) referenced in function "public: virtual __cdecl CSDHostContainer::~CSDHostContainer(void)" (??1CSDHostContainer@@UAA@XZ)
SDBUS2_LIB.lib(sdbus.obj) : error LNK2019: unresolved external symbol "public: virtual int __cdecl DefaultBusDriver::Init(void)" (?Init@DefaultBusDriver@@UAAHXZ) referenced in function "public: virtual int __cdecl CSDHostContainer::Init(void)" (?Init@CSDHostContainer@@UAAHXZ)
SDBUS2_LIB.lib(sddevice.obj) : error LNK2019: unresolved external symbol "public: int __cdecl DeviceFolder::AddInitReg(int,struct _REGINI *)" (?AddInitReg@DeviceFolder@@QAAHHPAU_REGINI@@@Z) referenced in function "public: long __cdecl CSDDevice::SDLoadDevice(void)" (?SDLoadDevice@CSDDevice@@QAAJXZ)
SDBUS2_LIB.lib(sddevice.obj) : error LNK2019: unresolved external symbol "public: __cdecl DeviceFolder::DeviceFolder(unsigned short const *,unsigned short const *,unsigned long,unsigned long,unsigned long,unsigned long,void *,unsigned long,unsigned short const *)" (??0DeviceFolder@@QAA@PBG0KKKKPAXK0@Z) referenced in function "public: long __cdecl CSDDevice::SDLoadDevice(void)" (?SDLoadDevice@CSDDevice@@QAAJXZ)
sdcardlibbase.lib(SDMemApi.obj) : error LNK2019: unresolved external symbol _svsutil_Initialize referenced in function "int __cdecl InitCardLib(void)" (?InitCardLib@@YAHXZ)
sdcardlibbase.lib(SDMemApi.obj) : error LNK2019: unresolved external symbol _svsutil_DeInitialize referenced in function "int __cdecl DeinitCardLib(void)" (?DeinitCardLib@@YAHXZ)
sdcardlibbase.lib(SDMemApi.obj) : error LNK2019: unresolved external symbol _svsutil_ReleaseFixedEmpty referenced in function "public: __cdecl ce::fixed_block_allocator<20>::~fixed_block_allocator<20>(void)" (??1?$fixed_block_allocator@$0BE@@ce@@QAA@XZ)
sdcardlibbase.lib(SDMemApi.obj) : error LNK2019: unresolved external symbol _svsutil_GetFixed referenced in function "public: void * __cdecl ce::fixed_block_allocator<20>::allocate(unsigned int)const " (?allocate@?$fixed_block_allocator@$0BE@@ce@@QBAPAXI@Z)
sdcardlibbase.lib(SDMemApi.obj) : error LNK2019: unresolved external symbol _svsutil_FreeFixed referenced in function "public: void __cdecl ce::fixed_block_allocator<20>::deallocate(void *,unsigned int)const " (?deallocate@?$fixed_block_allocator@$0BE@@ce@@QBAXPAXI@Z)
sdcardlibbase.lib(SDMemApi.obj) : error LNK2019: unresolved external symbol _svsutil_AllocFixedMemDescrSynch referenced in function "protected: bool __cdecl ce::fixed_block_allocator<20>::_InitializeDescr(unsigned int)const " (?_InitializeDescr@?$fixed_block_allocator@$0BE@@ce@@IBA_NI@Z)
C:\WINCE600\platform\FlyCarMutliMedia\target\SH4\debug\SDHC_SH7764.dll : fatal error LNK1120: 25 unresolved externals
...全文
446 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
andyhere 2010-10-11
  • 打赏
  • 举报
回复
为什么人气如此不足?
商海连横 2008-11-25
  • 打赏
  • 举报
回复
gz
LanceJin 2008-07-17
  • 打赏
  • 举报
回复
为什么人气如此不足?
shuiyan 2008-07-14
  • 打赏
  • 举报
回复
PB的组件里,在OS Feature->MassStorage Manager里面有SD相关的一条得选上,这个是提供通用SD操作的,不然public下的SD操作驱动是不会被链接进来的。
LanceJin 2008-07-14
  • 打赏
  • 举报
回复

1.SDHC Base Sources:
TARGETNAME=SH7764_SDHCBase
TARGETTYPE=LIBRARY

INCLUDES=..\..\..\inc;$(_TARGETPLATROOT)\src\inc

SOURCELIBS= \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\SH7764_DMA.lib\

SOURCES = SDHCMain.cpp \
SDIOControllerBase.cpp

2.SDHC Sources:
TARGETNAME=SDHC_SH7764
TARGETTYPE=DYNLINK
RELEASETYPE=PLATFORM

SYNCHRONIZE_DRAIN=1

DEFFILE=$(TARGETDEFNAME).def
DLLENTRY=DllEntry

INCLUDES=$(_TARGETPLATROOT)\src\inc;$(INCLUDES);$(_WINCEROOT)\public\common\ddk\inc;$(_PLATFORMROOT)\common\src\inc;

TARGETLIBS= \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\ceddk.lib \
$(_SYSGENSDKROOT)\lib\$(_CPUINDPATH)\coredll.lib

SOURCELIBS= \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\sdcardlibbase.lib \
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\sdhclib.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\SDBUS2_LIB.lib \
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\SH7764_DMA.lib\
$(_TARGETPLATROOT)\lib\$(_CPUINDPATH)\SH7764_SDHCBase.lib

SOURCES= \
SDIOController.cpp

3.SD Bus Sources:
TARGETDEFNAME=SDBus2
DEFFILE=$(TARGETDEFNAME).def

TARGETNAME=$(TARGETDEFNAME)_LIB
TARGETTYPE=LIBRARY
#WINCETARGETFILE0=$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\$(DEFFILE)
PREPROCESSDEFFILE=1

DLLENTRY=_DllEntryCRTStartup

SOURCES = sdbusreq.cpp \
sddevice.cpp \
sdbus.cpp \
sdslot.cpp \
sdclient.cpp \
sddevinf.cpp \
sdiofeat.cpp \
sdworki.cpp \
sddebug.cpp \

TARGETLIBS= \
$(_SYSGENOAKROOT)\lib\$(_CPUINDPATH)\defbuslib.lib \
$(_SYSGENSDKROOT)\lib\$(_CPUINDPATH)\coredll.lib \
$(_SYSGENOAKROOT)\lib\$(_CPUINDPATH)\ceddk.lib
mly0904 2008-07-14
  • 打赏
  • 举报
回复
学习拉,顺便接分!呵呵!
xyj0663 2008-07-14
  • 打赏
  • 举报
回复
我只是进来看看,既然问题解决了,不用给我分
LanceJin 2008-07-14
  • 打赏
  • 举报
回复
我确认不是擦catalog选项的问题,这个问题已解决,用TARGETLIBS链接出错,一定要用SOURCELIBS链接
SOURCELIBS=\ #不能用TARGETLIBS
$(_SYSGENOAKROOT)\lib\$(_CPUINDPATH)\defbuslib.lib\
$(_SYSGENSDKROOT)\lib\$(_CPUINDPATH)\coredll.lib \
$(_SYSGENOAKROOT)\lib\$(_CPUINDPATH)\ceddk.lib \
至于后面的六个链接错误,是因为少了一格lib文件(ceosutil.lib)在SOURCELIBS增加一项
$(_COMMONOAKROOT)\lib\$(_CPUINDPATH)\ceosutil.lib \
即解决,郁闷,搞了三四天,不得其门而入,CE6的BSP还是有问题的

过两天结帖,进来的留个言,来者有分

19,504

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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