博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
“无法定位程序输入点 aacEncClose 于动态链接库的奇葩问题
阅读量:4182 次
发布时间:2019-05-26

本文共 616 字,大约阅读时间需要 2 分钟。

写的一个程序,同时用到了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,上述奇怪问题就没有再出现了

转载地址:http://gjzoi.baihongyu.com/

你可能感兴趣的文章
Android系统wifi分析-手动连接过程
查看>>
设置IP别名Shell脚本
查看>>
Source Insight 宏-单行注释
查看>>
levelDB源码分析-Arena
查看>>
levelDB源码分析-SSTable
查看>>
平滑升级Nginx的Shell脚本
查看>>
SSH远程会话管理工具
查看>>
canvas标签设长宽是在css中还是在标签中
查看>>
如何创建一个vue项目
查看>>
webpack和webpack-simple中如何引入css文件
查看>>
vue1.0和vue2.0的区别之路由
查看>>
关于vue-router2.0的学习笔记
查看>>
vue1.0与2.0区别之生命周期
查看>>
vue2.0之非父子组件通信
查看>>
如何建立svn版本库并运行它
查看>>
如何合并svn分支到主干上
查看>>
libusb源码学习:list_entry
查看>>
libusb源码学习:几个函数加载的宏(windows)
查看>>
MCU_如何通过硬件VID 查找生产厂家
查看>>
NCNN部署例程 mxnet-gluoncv之simple_pose
查看>>