本文共 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/