我正在尝试构建一个针对android 19的arm64版本的libcurl7.50.3,使用Android r13b。我已经设法使armv7正常工作,但我一直在使用arm64出错。这些是我的出口旗帜:
NDK_ROOT="/opt/android-ndk-r13b"
export SYSROOT="${NDK_ROOT}/platforms/android-19/arch-arm"
export CPPFLAGS="-I${SYSROOT}/usr/include --sysroot=${SYSROOT}"
export CFLAGS="--sysroot=${SYSROOT}"
export CC=$(${NDK_ROOT}/ndk-which gcc)
export LD=$(${NDK_ROOT}/ndk-which ld)
export CPP=$(${NDK_ROOT}/ndk-which cpp)
export CXX=$(${NDK_ROOT}/ndk-which g++)
export AS=$(${NDK_ROOT}/ndk-which as)
export AR=$(${NDK_ROOT}/ndk-which ar)
export RANLIB=$(${NDK_ROOT}/ndk-which ranlib)还有我的配置呼叫
LIBS="-ldl -lssl -lcrypto" ./configure \
--disable-ftp \
--disable-file \
--disable-ldap \
--disable-dict \
--disable-telnet \
--disable-gopher \
--disable-tftp \
--disable-manual \
--disable-shared \
--disable-imap \
--disable-pop3 \
--disable-rtsp \
--disable-smb \
--disable-smtp \
--enable-threaded-resolver \
--enable-ipv6 \
--with-ssl=${SSL_DIR} \
--host=aarch64-linux-android \
--target=aarch64-linux-android \然后再做。我也尝试过将主机和目标设置为arm-,但我仍然会遇到同样的错误。config.log说
configure:4488: ./conftest
./configure: line 4490: ./conftest: cannot execute binary file: Exec format error
configure:4492: $? = 126
configure:4499: error: in `/home/sossisos/build_curl_android/curl_7.50.3':
configure:4501: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details我是不是遗漏了什么?我是否误解了要使用的目标或主机?
发布于 2016-12-31 08:38:28
确保使用./configure (设置为and 64/android)和--build (设置为您的系统,可能是x86_64-pc gnu)调用--host。后者应该是自动检测的,但并不总是如此。这样,脚本就会知道您正在交叉编译,并且不会尝试执行它构建的程序。
https://stackoverflow.com/questions/41399486
复制相似问题