欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-02-19 23:44:52
...
写的一个程序,同时用到了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,上述奇怪问题就没有再出现了

相关标签: mingw aac