在Mac上编译x264:"找不到工作的C编译器"和"arm-linux-androideabi-gcc:command not found"

Xav*_*Gil 5 android gcc android-ndk x264 libx264

我试图x264按照这篇文章编译Android 的库.

我克隆了x264项目git clone git://git.videolan.org/x264.git并尝试使用以下配置进行编译:

NDK=~/development/android-ndk-r10c    
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64
PLATFORM=$NDK/platforms/android-21/arch-arm

./configure \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--sysroot=$PLATFORM \
--host=arm-linux \
--enable-pic \
--enable-static \
--disable-cli
Run Code Online (Sandbox Code Playgroud)

问题是我收到了No working C compiler found.错误.

conftest.log输出:

$ cat conftest.log 
./configure: line 153: arm-linux-androideabi-gcc: command not found
Run Code Online (Sandbox Code Playgroud)

但这arm-linux-androideabi-gcc是工具链的bin文件夹!!

看看这个其他问题,看起来由于某种原因,即使文件存在,因为它是64位Mac,它将不会执行该arm-linux-androideabi-gcc文件并将返回这个奇怪的错误和日志.


我在Mac OS X 10.10中安装了XCode命令行工具:

$ xcode-select -p
/Applications/Xcode.app/Contents/Developer
Run Code Online (Sandbox Code Playgroud)

GCC版本:

$ gcc --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.0.0
Thread model: posix
Run Code Online (Sandbox Code Playgroud)

有人能告诉我如何解决这个问题吗?

mst*_*sjo 5

您不应该设置--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi-,您应该首先将该目录添加到您的路径中,使用export PATH=$TOOLCHAIN/bin:$PATH,并且只指定--cross-prefix=arm-linux-androideabi-(就像在您链接到的帖子中一样)。