DLL的问题,请帮忙
我得到一个DLL动态库
1.检查头文件dll函数的调用习惯都是_stdcall;
2.检查dll里面的连接名称
TDUMP -ee -m Mwic_32.dll > Mwic_32.lst
发现在__stdcall 函数上没有前缀下划线和后缀 @4。证明 DLL 编译的时候带 DEF 文件,在 __stdcall 函数上的修饰符不会出现。
3.生成一个引入库
IMPLIB Mwic_32.lib Mwic_32.dll
应该说是一切正常,可我在CB里面调用时出现
[Linker Error] Unresolved external '_av_init' referenced from d:\TEST_2\UNIT1.OBJ
各位帮忙
问题点数:50、回复次数:4Top
1 楼xpdavis(咕嘟-不想孤独)回复于 2004-12-04 10:43:49 得分 30
你在函数声明之前加上“extern "C"”看看?
比如extern "C" void sqlcxt (void **, unsigned long *,
struct sqlexd *, const struct sqlcxp *);
我在使用ORACLE PRO*C的时候也是碰到这个问题,就是这样解决的。Top
2 楼sunliwen780502(孙立文)回复于 2004-12-04 18:56:21 得分 15
楼主的dll文件可能是一个IC卡读写的dll吧. 可以向楼上说的那样加extern "C" __stdcall auto_init().或者直接包含头文件.或许能更方便.先试试看.Top
3 楼xiaomatian(趴趴熊◎%#……※×)回复于 2004-12-04 20:21:51 得分 5
看看Top
4 楼jevin8011(相信自己)回复于 2004-12-06 19:30:36 得分 0
谢谢大家,在函数声明之前加上“extern "C" 就可以了,这次给的分太少了,下次了给高分Top




