0

開発環境ffmpegでライブラリを使用しようとしています。ここから共有ビルドcygwinをダウンロードしました(64ビット)。フォルダにはまたはファイルは含まれていません。リンクは、次のように行われます。 bindlls.a.dll.a

$ gcc encoding_mp3.o -L/cygdrive/c/Users/Desktop/webserver/cygnus/lib/w32api -L/cygdrive/c/Users/Desktop/webserver/cygnus/ffmpeg/ffmpeg_shared/bin -lavcodec-54 -lm -luser32 -lpthread -o encoding_mp3

次のエラーが発生します。

/cygdrive/c/Users/Desktop/webserver/cygnus/ffmpeg/ffmpeg_shared/bin/avcodec-54.dll: file not recognized: File format not recognized collect2: ld returned 1 exit status

私の質問:
1。bin/共有ビルドのフォルダーには。のみが含まれていますavcodec-54.dlldlldll.aまたはに変換する方法はあり.aますか?
2.どこが間違っているのですか?

ソースコードが必要な場合はお知らせください。

4

1 に答える 1

2

「dev」バージョンまたは「静的リンク」バージョン (ページの少し下) をダウンロードする必要があります。dll をライブラリに変換することはできません。また、(通常は) 独自の小さなインポート スタブ (.dll.a) を生成するために使用することもできません。

リンクしたページから「開発パッケージは、他のプログラムで.dllファイルを使用するために必要なヘッダーと.lib/.dll.aファイルを提供します。」.a / .lib は通常、「lib」フォルダーにあります。

于 2013-01-28T12:46:09.590 に答える