android nkd没有包含搜索limits.h的路径。#include_next <limits.h>

时间:2017-09-27 09:36:46

标签: android android-ndk x264

当我构建x264 ndk库时,我遇到了问题。 我已经在window和liunx环境中编译了。我也犯了同样的错误......

像这样:

In file included 
from c:\users\xxx\appdata\local\android\sdk\ndk-bundle\toolchains\
aarch64-linux-android-4.9\prebuilt\windows-x86_64\lib\gcc\aarch64-linux-android\4.9.x\include-fixed\syslimits.h:7:0,
from c:\users\xxx\appdata\local\android\sdk\ndk-bundle\toolchains\
aarch64-linux-android-4.9\prebuilt\windows-x86_64\lib\gcc\aarch64-linux-android\4.9.x\include-fixed\limits.h:34,
from ./common/common.h:123,
from ./x264cli.h:30,
from ./input/input.h:31,
from ./filters/video/video.h:29,
from ./filters/video/depth.c:26:
c:\users\xxx\appdata\local\android\sdk\ndk-bundle\toolchains\aarch64-linux-android-4.9\
prebuilt\windows-x86_64\lib\gcc\aarch64-linux-android\4.9.x\include-fixed\limits.h:168:61: 
error: no include path in which to search for limits.h
#include_next <limits.h>  /* recurse down to the real one */

make: *** [.depend] Error 1

这是我的剧本:

SYSROOT=$NDK/platforms/android-21/arch-arm64
TOOLCHAIN=$NDK/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64
CC=$TOOLCHAIN/bin/aarch64-linux-android-gcc-4.9.x
#CXX=$TOOLCHAIN/bin/aarch64-linux-android-g++
CROSS_PREFIX=$TOOLCHAIN/bin/aarch64-linux-android-
EXTRA_CFLAGS="-march=armv8-a -D__ANDROID__"
EXTRA_LDFLAGS="-nostdlib"

./configure --prefix=$PREFIX \
        --host=arm-linux \
        --sysroot=$SYSROOT \
        --cross-prefix=$CROSS_PREFIX \
        --extra-cflags="$EXTRA_CFLAGS" \
        --extra-ldflags="$EXTRA_LDFLAGS" \
        --enable-pic \
        --enable-static \
        --enable-strip \
        --disable-cli \
        --disable-win32thread \
        --disable-avs \
        --disable-swscale \
        --disable-lavf \
        --disable-ffms \
        --disable-gpac \
        --disable-lsmash \
        --disable-asm \
        --disable-opencl

有谁知道如何解决它?非常感谢。

2 个答案:

答案 0 :(得分:1)

要使用最新的NDK进行构建,您需要在创建独立工具链时使用--deprecated-header。

一些其他信息:NDK unified headers

答案 1 :(得分:0)

当您使用最新版本的android ndk时会发生此问题。请使用像android ndk r13b这样的旧版本。我已经使用 android ndk r13b 在我的mac机器上成功构建了。

以下链接:

https://dl.google.com/android/repository/android-ndk-r13b-darwin-x86_64.zip

请使用您的平台特定的一个。

您也可以点击此链接https://osburneblog.wordpress.com/2017/06/01/cross-compiling-ffmpeg-and-libx264-for-android/了解有关构建过程的更多信息。