在IOS6.1中构建FFMpeg错误无法创建可执行文件

时间:2013-07-05 14:12:33

标签: iphone objective-c ffmpeg

我试图在iOS6.1(armv7)上构建ffmpeg,当我尝试运行./configure时这样:

./configure --disable-doc --disable-ffmpeg --disable-ffplay
--disable-ffserver    --enable-cross-compile --arch=arm --target-os=darwin    --cc=/applications/xcode.app/contents/Developer/usr/bin/gcc    --as='gas-preprocessor/gas-preprocessor.pl /applications/xcode.app/contents/Developer/usr/bin/gcc'   
--sysroot=/applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk
--cpu=cortex-a8 --extra-cflags='-arch armv7'    --extra-ldflags='-arch armv7 -isysroot /applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk'
--enable-pic

我收到以下错误:

  

/applications/xcode.app/contents/Developer/usr/bin/gcc无法   创建一个可执行文件。 C编译器测试失败。

有人可以在iOS6.1中提供正确的参数吗?

更新命令:

  

./ configure --disable-doc --disable-ffmpeg --disable-ffplay   --disable-ffserver --enable-cross-compile --arch = arm --target-os = darwin --cc = / Applications / Xcode.app / Contents / Developer / Platforms / iPhoneOS.platform / Developer / usr / llvm -GCC-4.2 / bin中/ ARM-苹果darwin10-LLVM-GCC-4.2   --as ='gas-preprocessor / gas-preprocessor.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/arm-apple-darwin10-llvm -GCC-4.2'   --sysroot = /应用/ xcode.app /内容/开发商/平台/ iPhoneOS.platform /开发商/软件开发工具包/ iPhoneOS6.1.sdk   --cpu = cortex-a8 --extra-cflags =' - arch armv7' - extra-ldflags =' - arch armv7 -isysroot   /applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk”   --enable-PIC

更新命令出错:

  

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/llvm-gcc-4.2/bin/arm-apple-darwin10-llvm-gcc-4.2   无法创建可执行文件。 C编译器测试失败。

如果您认为配置有误,请确保您使用的是最新版本 来自Git的版本。如果最新版本失败,请将问题报告给 ffmpeg-user@ffmpeg.org irc.freenode.net上的邮件列表或IRC #ffmpeg。 包括configure生成的日志文件“config.log”,这将有所帮助 解决问题。

1 个答案:

答案 0 :(得分:2)

你正在使用......

--cc=/applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc

对于armv7来说这是错的,你应该这么做......

--cc=/applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-gcc-4.2.1

将上述内容更改为arm-apple-darwin10-gcc-x.x.x文件夹的bin版本。

同样,将gas-preprocessor的目标编译器更改为相同的。

--as='gas-preprocessor/gas-preprocessor.pl /applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-gcc-4.2.1'

此外,请勿在{{1​​}}中加-arch armv7,不需要它,否则可能会收到错误:--extra-cflags