我正在尝试在Mac上的Xcode中使用ffmpeg库。我想谈谈像Lion和Mountain Lion这样的64位系统。我试着用
编译./configure --enable-static --enable-nonfree --enable-version3 --enable-gpl --disable-doc --disable-programs --arch=x86_64 --cc=cc --disable-yasm --host-cflags="-arch x86_64" --host-ldflags="-arch x86_64" --prefix=ffmpeg
然后我将ffmpeg-directory(包含lib和include文件夹)复制到我的项目文件夹中。我将.a文件添加到我的项目中并将.a文件添加到“使用库链接二进制文件”)。我还调整了项目设置中的标题和库文件夹。到目前为止一切都很好。
我是这些图书馆的初学者,所以我开始制作视频。工作正常。
现在我正在尝试解码给定的输入文件。因此,我查看了此示例文件:http://ffmpeg.org/doxygen/1.0/decoding__encoding_8c-source.html
我复制了video_decode_example函数。但在编译时我收到以下错误:
Undefined symbols for architecture x86_64:
"_decode_write_frame", referenced from:
_video_decode_example in cutClass.o
ld: symbol(s) not found for architecture x86_64
编译ffmpeg时我错了什么?
答案 0 :(得分:2)
decode_write_frame()
不是ffmpeg的一部分 - 它是您所指的示例代码的一部分。更仔细地阅读示例代码并实现您自己的等效代码。 (decoding_encoding.c
示例中的实现几乎肯定是不您在生产代码中需要的东西 - 它只是将每个帧作为PGM图像文件写入磁盘。)