0

我正在尝试在开发环境中使用该ffmpeg库。cygwin我从这里下载了共享版本(64 位)。bin文件夹包含但dlls不包含.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.dll. 有没有办法将 a 转换dlldll.aor .a
2. 我哪里错了?

如果需要源代码,请告诉我。

4

1 回答 1

2

您需要下载“开发”版本或“静态链接”版本(在页面上稍微向下)。dll 不能转换为库,也不能(通常)用于生成它们自己的小导入存根(.dll.a)

从您链接的页面中,“开发包提供了在其他程序中使用 .dll 文件所需的头文件和 .lib/.dll.a 文件。” .a / .lib 通常位于“lib”文件夹中。

于 2013-01-28T12:46:09.590 回答