【发布时间】:2013-01-04 22:57:24
【问题描述】:
谁能告诉我如何在 android (ndk-build) 中构建 C-ares 库
【问题讨论】:
标签: android-ndk c-ares
谁能告诉我如何在 android (ndk-build) 中构建 C-ares 库
【问题讨论】:
标签: android-ndk c-ares
下面是如何使用 NDK standalone toolchain 将其构建为 ARMv7 的静态库:
export NDK=/tmp/android-ndk-r8b
# Create the standalone toolchain
$NDK/build/tools/make-standalone-toolchain.sh \
--platform=android-9 \
--install-dir=/tmp/my-android-toolchain
export PATH=/tmp/my-android-toolchain/bin:$PATH
export SYSROOT=/tmp/my-android-toolchain/sysroot
export CC="arm-linux-androideabi-gcc --sysroot $SYSROOT"
# Download the latest release
curl -O http://c-ares.haxx.se/download/c-ares-1.9.1.tar.gz
tar xvfz c-ares-1.9.1.tar.gz
# Configure
cd c-ares-1.9.1 && mkdir build
./configure --prefix=$(pwd)/build \
--host=arm-linux-androideabi \
--disable-shared \
CFLAGS="-march=armv7-a"
# Build and install
make && make install
就是这样。静态库部署在build/lib/libcares.a下。
如果您针对其他拱门(例如 armeabi、x86)重复 configure 并使用正确的 -march 值并为每个拱门重新构建库。另外,请随意:
configure 选项(例如,您可能还想构建一个动态库、启用/禁用某些功能等)。【讨论】:
gsl 库并且编译成功但是当我运行应用程序时。它给出了can not locate cblas_sdsdot 的运行时错误。当我使用nm 命令检查时,该变量存在于库中。任何建议,真的很抱歉调用这个 3 岁的问题。
-march=i686 或 -march=x86 时,我收到错误 error: ahost-ares_getopt.o: incompatible target。