When ./compile-ffmpeg.sh all
It will get below error.
./libavutil/attributes.h:94:49: note: expanded from macro 'attribute_deprecated'
^
CC libavcodec/aac_parser.o
clang: warning: optimization flag '-fomit-frame-pointer' is not supported for target 'armv7' [-Wignored-optimization-argument]
CC libavcodec/aacadtsdec.o
clang: warning: optimization flag '-fomit-frame-pointer' is not supported for target 'armv7' [-Wignored-optimization-argument]
CC libavcodec/aacdec.o
clang: warning: optimization flag '-fomit-frame-pointer' is not supported for target 'armv7' [-Wignored-optimization-argument]
CC libavcodec/aacps_float.o
clang: warning: optimization flag '-fomit-frame-pointer' is not supported for target 'armv7' [-Wignored-optimization-argument]
CC libavcodec/aacpsdsp_float.o
clang: warning: optimization flag '-fomit-frame-pointer' is not supported for target 'armv7' [-Wignored-optimization-argument]
5 warnings generated.
CC libavcodec/aacsbr.o
clang: warning: optimization flag '-fomit-frame-pointer' is not supported for target 'armv7' [-Wignored-optimization-argument]
CC libavcodec/aactab.o
clang: warning: optimization flag '-fomit-frame-pointer' is not supported for target 'armv7' [-Wignored-optimization-argument]
CC libavcodec/ac3tab.o
clang: warning: optimization flag '-fomit-frame-pointer' is not supported for target 'armv7' [-Wignored-optimization-argument]
CC libavcodec/allcodecs.o
clang: warning: optimization flag '-fomit-frame-pointer' is not supported for target 'armv7' [-Wignored-optimization-argument]
CC libavcodec/arm/aacpsdsp_init_arm.o
clang: warning: optimization flag '-fomit-frame-pointer' is not supported for target 'armv7' [-Wignored-optimization-argument]
AS libavcodec/arm/aacpsdsp_neon.o
./libavutil/arm/asm.S:50:9: error: unknown directive
.arch armv7-a
^
make: * [libavcodec/arm/aacpsdsp_neon.o] Error 1
make: * Waiting for unfinished jobs....
@wisenight I met the same problem.
In iOS devices, armv7 means iPhone 4 or iPad 1 and so on, armv7s meas iPhone 5 and so on, all it's 32 bit device. And Apple has required all apps should run on 64 bit.
So I just compiled arm64 and armv7s. The iPhone 4 or iPhone 5 is too old for our apps or Foundation/UIKit API.
If there's any mistake or any better solution, please tell me.
@Shvier
I do same thing like you.
I remove the armv7 in compile-ffmpeg.sh
FF_ALL_ARCHS_IOS8_SDK="arm64 i386 x86_64"
Thanks for your reply.
I can confirm that you upgraded the system today and upgraded xcode, so that's the problem.
I has the same error,as I upgraded the system and xcode
I met the same problem
上面的老哥说的对,完美.
Solved:
use this: https://github.com/anmolagar/ijkplayer until PR is accepted
@wisenight Does not compiling the armv7 will not be a problem?
./libavutil/arm/asm.S:50:9: error: unknown directive
.arch armv7-a
^
make: * [libavcodec/arm/aacpsdsp_neon.o] Error 1
make: * Waiting for unfinished jobs....
莫非真要删除掉armv7?
export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-asm"
fixed for me
vim ios/tools/do-compile-ffmpeg.sh
add FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --disable-asm"
# armv7, armv7s, arm64
FFMPEG_CFG_FLAGS_ARM=
FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-pic"
FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-neon"
FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --disable-asm"
vim ios/tools/do-compile-ffmpeg.sh
add
FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --disable-asm"# armv7, armv7s, arm64 FFMPEG_CFG_FLAGS_ARM= FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-pic" FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-neon" FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --disable-asm"
MacOS 10.15.3, Xcode 11.3.1 is invalid
vim ios/tools/do-compile-ffmpeg.sh
addFFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --disable-asm"# armv7, armv7s, arm64 FFMPEG_CFG_FLAGS_ARM= FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-pic" FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-neon" FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --disable-asm"MacOS 10.15.3, Xcode 11.3.1 is invalid
Hi Zeaa, after these modifies , you also need rebuild openssl module.
try this step. it works for me . MacOS 1015.4, XCode 11.3 (11C29)
./init-ios-openssl.sh
./compile-openssl.sh clean
./compile-ffmpeg.sh clean
./compile-openssl.sh all
./compile-ffmpeg.sh all
vim ios/tools/do-compile-ffmpeg.sh
addFFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --disable-asm"# armv7, armv7s, arm64 FFMPEG_CFG_FLAGS_ARM= FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-pic" FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --enable-neon" FFMPEG_CFG_FLAGS_ARM="$FFMPEG_CFG_FLAGS_ARM --disable-asm"MacOS 10.15.3, Xcode 11.3.1 is invalid
Hi Zeaa, after these modifies , you also need rebuild openssl module.
try this step. it works for me . MacOS 1015.4, XCode 11.3 (11C29)./init-ios-openssl.sh ./compile-openssl.sh clean ./compile-ffmpeg.sh clean ./compile-openssl.sh all ./compile-ffmpeg.sh all
In macOS 11.0.1 Xcode Version 12.2 it is not working after trying all the commands listed.
Most helpful comment
@Shvier
I do same thing like you.
I remove the armv7 in compile-ffmpeg.sh
FF_ALL_ARCHS_IOS8_SDK="arm64 i386 x86_64"
Thanks for your reply.