vs2010下编写dll使用.def文件无法起到相应作用的原因

用vs编译写.dll的工程的相关技术人员对def文件一定不陌生,如果从头开始编写的话,应该不会遇到.def文件无效的问题。本人出现上述问题的原因:利用编写好的dll工程文件直接复制到其他工程中进行标准化dll的编写时产生的。

当我进行调试的时候发现相关接口的指针为null,从而发现上述问题,利用dumpbin命令查看后如下:


问题造成的原因:虽然我们把.def文件添加在工程里,但是那个文件根本就没有被编译。

解决办法:进入工程属性界面->链接器->输入->模块定义文件 ,添加def文件名称即可。配置如下图:


修改后的效果:


ps:下附dumpbin程序运行配置

vs2010下无法直接运行dumpbin,提示:缺少mspdb100.dll(该dll在common7下的IDE目录下)

将dumpbin.exe、mspdb100.dll、link.exe(VC/bin目录下)、vcvars32.bat(和dumpbin.exe位于同一目录下)一同复制到待检测dll文件目录下即可。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值