小弟最近要求很快的完成一个CAN的测试程序,需要调用CAN厂家提供的调用函数,所用的调用函数定义在一个candrv.h中,全部为为int APIENTRY 类型,我在自己的程序中包含 了此头文件,并另外的自定义的头文件中作了外部函数的说明,编译是为什么还是提示
CANTestDlg.obj : error LNK2001: unresolved external symbol _InstallCANDriverEx@36
Debug/CANTest.exe : fatal error LNK1120: 1 unresolved externals下面是一个函数的具体举例头文件 cnadrv.h#ifndef CANDRV95_DLL_HEADER
#define CANDRV95_DLL_HEADERtypedef void (CALLBACK* CANRECCALLBACK)(void* lpParam);
extern "C"{
int APIENTRY InstallCANDriver( //Add
HWND hWnd,
WORD CAN_BaseAddress,
BYTE CAN_IntNo,
WORD CAN_bps,
BYTE CAN_StationAddress,
BYTE CAN_Mask
);
int APIENTRY InstallCANDriverEx( //Add
WORD iPort,
HWND hWnd,
WORD CAN_BaseAddress,
BYTE CAN_IntNo,
WORD CAN_bps,
BYTE CAN_StationAddress,
BYTE CAN_Mask,
CANRECCALLBACK pFn=NULL, // Reserved
void* pParam = NULL // Reserved
);
} /* End of extern "C" */
#endif外不函数说明的头文件 gloable.h
extern int APIENTRY InstallCANDriverEx( //Add WORD iPort, HWND hWnd,
WORD CAN_BaseAddress,
BYTE CAN_IntNo,
WORD CAN_bps,
BYTE CAN_StationAddress,
BYTE CAN_Mask,
CANRECCALLBACK pFn, // Reserved
void* pParam ); // Reserved
我在自己的.cpp中包含了上述头文件,还是提示连接错误,请问各位大哥大姐是 什么问题?快来救救小弟吧!先谢谢了!
CANTestDlg.obj : error LNK2001: unresolved external symbol _InstallCANDriverEx@36
Debug/CANTest.exe : fatal error LNK1120: 1 unresolved externals下面是一个函数的具体举例头文件 cnadrv.h#ifndef CANDRV95_DLL_HEADER
#define CANDRV95_DLL_HEADERtypedef void (CALLBACK* CANRECCALLBACK)(void* lpParam);
extern "C"{
int APIENTRY InstallCANDriver( //Add
HWND hWnd,
WORD CAN_BaseAddress,
BYTE CAN_IntNo,
WORD CAN_bps,
BYTE CAN_StationAddress,
BYTE CAN_Mask
);
int APIENTRY InstallCANDriverEx( //Add
WORD iPort,
HWND hWnd,
WORD CAN_BaseAddress,
BYTE CAN_IntNo,
WORD CAN_bps,
BYTE CAN_StationAddress,
BYTE CAN_Mask,
CANRECCALLBACK pFn=NULL, // Reserved
void* pParam = NULL // Reserved
);
} /* End of extern "C" */
#endif外不函数说明的头文件 gloable.h
extern int APIENTRY InstallCANDriverEx( //Add WORD iPort, HWND hWnd,
WORD CAN_BaseAddress,
BYTE CAN_IntNo,
WORD CAN_bps,
BYTE CAN_StationAddress,
BYTE CAN_Mask,
CANRECCALLBACK pFn, // Reserved
void* pParam ); // Reserved
我在自己的.cpp中包含了上述头文件,还是提示连接错误,请问各位大哥大姐是 什么问题?快来救救小弟吧!先谢谢了!
解决方案 »
- Windows经典主题下,一般程序的标题栏是多高
- 一个应该算是简单的数据分类统计问题,求个好解
- 用OpenGL完成空间数据的三维显示问题时,OpenGL各函数是不是都得亲自编写,有没有封装类的调用?
- 请问在TCP传数据时怎么知道对方已经将数据完全从socket的缓存中取出?以及两个错误的意思
- 高分请教,我用VC中的CDHtmlDialog打开Html网页.如何在VC代码中使用这个Html中的ActiveXa控件?
- 资源文件的问题,请大位来看一看.
- 做一个vc开发的调查(希望不是tooooooooold^_^)
- 圖像處理中有種算法是AutoLevels,請問什麼是AutoLevels?它的算法思想?
- 请教一个关于CompatibleDC的问题!
- 帮我看看,什么意思。我不懂。
- 请教各位高手一个问题!
- 请教:如何枚举局域网内所有SQL Server数据库服务器?
e:\can30b\candrv.lib(2) : error C2018: unknown character '0x60'
........................................................
而且安装程序提供的例程里面没有见到有关库文件的包含,也只是包含了头文件,编译可以通过,
不过它没有window界面,是基于dos界面的,功能不全,为什么我在基于对话框的工程中,包含了头文件编译总是提示上述的错误??
在prejocet中添加库文件后即可!