欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

编译疏失:unresolved external symbol

更新时间: 2014-01-05 03:10:49 责任编辑: Author_N1

 

编译出错:unresolved external symbol
今天新建一个驱动,有一个reset.c和reset.s文件,都是在一个文件夹reset下面,其中reset.c的RES_IOControl会定义到reset.s中定义到的OALCPUPowerReset,下面给出相关文件的内容:
1.sources文件:
!if "$(BSP_NOCAMERA)" == "1"
SKIPBUILD=1
!endif

SYNCHRONIZE_DRAIN=1
RELEASETYPE=PLATFORM
TARGETNAME=reset
TARGETTYPE=DYNLINK
DLLENTRY=DllEntry

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

INCLUDES=$(INCLUDES); \

SOURCES= \
        reset.c
        
ARM_SOURCES= \
    reset.s

2.下面给出reset.s的定义
TEXTAREA
        
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kandi add start;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LEAF_ENTRY OALCPUPowerReset
.....................

ENTRY_END 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kandi add end;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

3.reset.c中的相关部分:
extern void OALCPUPowerReset();

BOOL
RES_IOControl(
    DWORD         hDeviceContext, 
    DWORD dwCode,
    PBYTE pBufIn,
    DWORD dwLenIn,
    PBYTE pBufOut,
    DWORD dwLenOut,
    PDWORD pdwActualOut
   )
{
    DWORD dwErr = ERROR_SUCCESS;
    BOOL bRc = TRUE;
    RETAILMSG(1,(TEXT(">RES_IOControl(0x%x, 0x%x, %d, 0x%x)\r\n"),
        dwCode, pBufIn, dwLenIn, pBufOut, dwLenOut ));

    switch (dwCode) {
        case 1:
RETAILMSG(1,(TEXT("kandi reset test\r\n")));
//KernelIoControl(IOCTL_HAL_REBOOT,NULL,0,NULL,0,NULL);
OALCPUPowerReset();
break;

        default:
            break;            
    }

    return bRc;
}
编译提出出错:reset.obj : error LNK2019: unresolved external symbol OALCPUPowerReset referenced in function RES_IOControl

可是我把sources文件的TARGETTYPE=DYNLINK改为TARGETTYPE=LIBRARY,编译就通过了,很奇怪,不知道具体是什么原因,麻烦知道的朋友告知,大家也可以试一下?看怎么解决这个问题(我需要的是一个dll,而不是lib)
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:10:49
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/19265/
本文WWW.DOC100.NET DOC100.NET版权所有。