“无法定位程序输入点 aacEncClose 于动态链接库的奇葩问题

写的一个程序,同时用到了x264和fdk_aac。这两个库都是用mingw编译成动态库的,我的应用程序都是通过链接其对应的.dll.a来加载的。奇怪的是程序一运行,居然报出错误“无法定位程序输入点 aacEncClose 于动态链接库 libx264-148.dll 上”,完全不搭噶的错误。比较神奇的是libx264.dll.a,居然有681KB,比ffmpeg的dll对应的lib还大,估计是这个家伙用到的代码段太多了,把其他库的都覆盖了。于是尝试自己做一个小的libx264.dll对应的lib。


进入vc的命令行提示。写一个x264导出函数的def文件

EXPORTS
  x264_encoder_open_148
  x264_encoder_headers
  x264_encoder_close
  x264_param_apply_profile
  x264_param_default_preset
  x264_encoder_encode
  x264_param_default
  x264_picture_alloc


我只写了我用到的几个x264函数。其中x264_encoder_open的后缀要跟x264的版本号对应
生成lib文件


lib /def:libx264-148.def /out:libx264-148.lib


这个lib明显精简多了,只有3KB。一改成链接这个lib,上述奇怪问题就没有再出现了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值