问题描述
我想对iOS5.1(ARMv7的),建立的ffmpeg当我试图像这样运行./configure:
./配置--disable-doc的--disable-ffmpeg的--disable-ffplay --disable-ffserver的
--enable-交叉编译--arch =手臂--target-OS =达尔文
--CC = /应用/ X code.app /内容/开发人员的/ usr / bin中/海湾合作委员会
--as ='气preprocessor /天然气preprocessor.pl /applications/x$c$c.app/contents/Developer/usr/bin/gcc
--sysroot=/applications/x$c$c.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk
--cpu = Cortex-A8的--extra-CFLAGS =' - 拱的ARMv7
--extra-LDFLAGS =' - 拱的ARMv7 -isysroot /applications/x$c$c.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk'
--enable-PIC
我收到以下错误:
/applications/x$c$c.app/contents/Developer/usr/bin/gcc
无法创建一个可执行文件。
C编译器测试失败。
Could somebody please provide the correct parameters in iOS5.1?
Thanks in advance
the instructions have changed since there is no longer a gcc
in the xcode SDK.
What you need to do is specify that cc is the iphoneos compiler using xcrun, so where we previously just put the path to gcc
, we're now going to put a reference to xcrun
for clang
.
I downloaded the latest ffmpeg from git, made sure I had a copy of gas-preprocess.pl on the path, and then changed the --cc=
line to read:
--cc='xcrun -sdk iphoneos clang -mios-version-min=5.1'
(this assumes you're building and still targetting ios 5.1 - if you're targetting newer, then you change the value to the newer release. I specified 7.0 for mine, but I'm also using the iOS 8.4 SDK, so the configure line looks like:
./configure --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffserver \
--enable-cross-compile --arch=arm --target-os=darwin \
--cc='xcrun -sdk iphoneos clang -mios-version-min=7.0' \
--sysroot=/applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.4.sdk \
--cpu=cortex-a8 --extra-cflags='-arch armv7' \
--extra-ldflags='-arch armv7 -isysroot /applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.4.sdk' \
--enable-pic
which builds ffmpeg from the ios8.4 SDK. These instructions should keep working; you just need to replace the appropriate 7.0
/8.4
values for the newer SDKs.
OLD ANSWER
That's what happens when you try to compile iOS code using the MacOS version of the compiler.
You need to specify the iPhoneOS version of gcc using:
./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/bin/gcc
--as='gas-preprocessor/gas-preprocessor.pl /applications/xcode.app/contents/Developer/Platforms/iPhoneOS.platform/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
The first step when trying to debug problems with configure
is to look at the config.log
file which is generated as part of the run.
这篇关于ffmpeg的不会iOS5.1运行./configure的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!