CxImage DLL 链接错误解决方案

本文链接http://blog.csdn.net/chenyz_cn/archive/2009/07/25/4380266.aspx

 

 因为项目需要,要使用CxImage进行图像处理,于是开始了学习之旅。但很不顺利....

      其实CxImage提供了这么多的工程,编译出来无非就是个库,但我确出现了个链接的错误,就这个链接错误花了我两天的时间解决。

    当出现dll连接错误的时候,我的第一感觉就是,调用约定有问题!但找了一下,没有找到调用约定的问题,类都是使用-decse 的调用约定。

接着我想是我的工程配置有问题,于是我去比对CxImage提供的demo工程,还是没有发现有什么不对的地方。应该说我的解决问题的方向是对的,可惜没有深入的去找到问题。第二天的时候,才沉下心了,找到了真正的问题。

因为CxImage提供的工程编译出来的是multebyte 不是Unicode 所以编译出来的lib是不一样的,所以会出现无法链接的问题!

bool __thiscall CxImage::Load(wchar_t const *,unsigned long)"

这是用工具看dll导出的名称?Load@CxImage@@QAE_NPBDK@Z

这是无法链接工程提示的名称?Load@CxImage@@QAE_NPB_WK@Z

比对后发现就D 和-W的不同

查看网络资料,D表示char -Wb表示wchar  问题出来拉!

查看工程属性general 的char set(字符集)果然是这里不同!!!!

总结一下:

当发现DLL无法链接的时候,问题肯定出在lib,这时你要看你的lib是不是最新的,和.h文件的描述是一致的。

注意调用约定的问题!

注意UNICODE的问题!

注意dll hell!!

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值