1

x264 dll ファイルのバージョンをチェックインして、open 関数の名前が 'x264_encoder_open_130' であり、130 がたまたま使用している x264 の特定のビルド番号であることを確認しました。Windows で minGW を使用してビルドし、それにリンクしているため、新しい dll を使用しようとするとプログラムがクラッシュします。これを回避する方法はありますか?

4

1 に答える 1

1

いいえ、そうすべきではありませんx264_encoder_open。これは、より高いレベルのバイナリが適切なバージョンの依存関係 DLL に対してビルドされることを保証するための設計上の措置です。そうしないと、エクスポート名の不一致のために 2 つがうまく接続されません。

この回避策は簡単です。x264 をアップグレードする場合は、更新されたライブラリに対してアプリケーションを再構築することもできます。

または、再構築せずにアプリケーションをアップグレードできるようにする場合は、x264 を x264 自体と一緒にアップグレードするシン ラッパーにラップします。これにより、最上位のアプリケーションが、アップグレードによって外部インターフェイスを変更しないラッパーにリンクします。

于 2013-05-18T07:44:11.507 に答える