打印

对CYAPI.lib进行二次封装,问题还很大!!!

[复制链接]
7352|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kyle2009|  楼主 | 2009-12-26 21:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在正在做一个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也是一条活路,但没有可以

相关帖子

沙发
McuPlayer| | 2010-6-2 02:26 | 只看该作者
虽然是09年的问题了,还是说一下吧
用VC高一些的版本吧,VC2005和2008都是可以的
这个lib使用了编译器的GS选项,也就是缓冲区安全检查,这个在VC6是不支持的,要更高版本才能支持

使用特权

评论回复
板凳
dzg365270788| | 2011-11-29 16:29 | 只看该作者
期待有高手能够详细解释一下 不是很明白

使用特权

评论回复
地板
yan2005| | 2011-11-30 08:01 | 只看该作者
试试
#pragma comment(lib,"bufferoverflowU.lib")

http://support.microsoft.com/kb/894573/zh-cn

使用特权

评论回复
5
lanhao0218| | 2014-12-24 11:22 | 只看该作者
感觉是路径没设置对

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

6

帖子

1

粉丝