VC中使用BCB写的DLL

在程序设计中常常需要使用其它编程语言写的dll,最近我就碰到这个问题,别人使用BCB写了的DLL,而我是使用VC写的程序,我的程序中需要调用这个DLL。按照常规的方法加入lib,然后添加声明,编译链接,总是出错“error LNK2001: unresolved external symbol __imp__xuexi_Close”,经过一番折腾,最后总算是可以使用了。

使用BCB写的DLL如果不做任何的修改是无论如何也没法在VC的程序中使用的。原因就是BCB生成的lib与VC的不一样;

有2个方法:方法一

     使用BCB自带的IMPDEF程序将生成的DLL导出一个DEF文件,命令格式为 IMPDEF XX.DEF  XX.DLL,其中的XX表示文件名,执行这个命令后会生成一个文件XX.DEF

 

LIBRARY     xuexi.dll

EXPORTS
    _xuexi_Close                 @1   

    _xuexi_Init                     @2   

 

     接着修改XX.DEF文件是符合VC规则如下

LIBRARY  "XUEXI"

DESCRIPTION  "XUEXI LIBRARY"

EXPORTS

    xuexi_Close@0    @1

    xuexi_Init&#

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值