现在正在做一个labview下usb的采集卡,用的是68013+FPGA。本来的打算用CyAPI.lib进行二次封装得到
dll以供labview调用,可惜CyAPI.h里面还有大量的类型需要自己定义。搞了好多天,终于编译通过了,
但生成dll时出现了错误。只可惜自己是学硬件的,VC环境还很生疏,还望高人指点!!
#include "typedef.h" //CyAPI.h里面涉及到的类型声明
#include "CyAPI.h" //ddk里面提供的CYAPI.LIB的类声明
#pragma comment(lib,"CyAPI.lib")
extern bool _declspec(dllexport) Open_0(void); //生成一个打开设备0的dll
CCyUSBDevice *USBDevice=new CCyUSBDevice();
bool Open_0()
{
return USBDevice->Open(0); //CYAPI.lib里面已封装好的函数
}
错误如下:
Compiling...
CyAPI.cpp
Linking...
Creating library Debug/MainDLL.lib and object Debug/MainDLL.exp
CyAPI.lib(CyAPI.obj) : error LNK2001: unresolved external symbol ___security_cookie
CyAPI.lib(CyAPI.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
CyAPI.lib(CyAPI.obj) : error LNK2001: unresolved external symbol ___CxxFrameHandler3
CyAPI.lib(CyAPI.obj) : error LNK2001: unresolved external symbol __EH_epilog3
CyAPI.lib(CyAPI.obj) : error LNK2001: unresolved external symbol __EH_prolog3
CyAPI.lib(CyAPI.obj) : error LNK2001: unresolved external symbol __EH_epilog3_GS
CyAPI.lib(CyAPI.obj) : error LNK2001: unresolved external symbol __EH_prolog3_GS
Debug/MainDLL.dll : fatal error LNK1120: 7 unresolved externals
执行 link.exe 时出错.
Creating browse info file...
初步估计是VC编译环境的设置问题或LIB里面封装的函数引用的变量或类型没用声明。
已经走到这一步了,难道是死路一条?在goole上搜了N编,貌似只见过一人尝试过对CYAPI.lib进行二次
封装。
只可惜labview只能通过调用dll来完成对usb的控制,当然,VISA也是一条活路,但没有可以 |