Libx264.dll公开函数x264_encoder_open_130,不应该是x264_encoder_open

libx264.dll exposes function x264_encoder_open_130, shouldnt this be x264_encoder_open?

本文关键字:open encoder x264 不应该 Libx264 函数 dll      更新时间:2023-10-16

我检查了我的x264 dll文件的版本,打开函数被命名为'x264_encoder_open_130', 130恰好是我使用的x264的特定构建号。我在windows上使用minGW构建并链接到它,所以如果我尝试使用更新的dll,我的程序会崩溃。有没有办法解决这个问题?

不,不应该是x264_encoder_open。这是一种设计措施,以确保更高级别的二进制文件是根据依赖DLL的正确版本构建的,否则由于导出名称不匹配,两者不能很好地插入在一起。

解决这个问题很容易-如果您升级x264,也可以根据更新的库重新构建应用程序。

或者,如果您希望您的应用程序无需重新构建即可升级,请将x264打包到您将与x264本身一起升级的瘦包装器中,以便顶层应用程序链接到包装器,该包装器不会随着升级而更改其外部接口。