打开mac终端,执行如下命令
1、$ git clone https://github.com/c-ares/c-ares.git
2、$ cd c-ares
1、$ ./buildconf
2、$ autoconf configure.ac
3、$ ./configure
4、$ make
5、$ sudo make install
编译出mac平台的库,在”.libs/“目录下
若以上执行执行过程中有报如下错误:
libtoolize not found.
则需要安装libtool,并且链接:
1、$ brew install libtool
2、$ brew link libtool
1、$ cmake -DCMAKE_TOOLCHAIN_FILE=../../../toolchain/iOS.cmake -DCMAKE_IOS_DEVELOPER_ROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/ -DCMAKE_IOS_SDK_ROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/ -GXcode .
参考:https://www.cnblogs.com/wengzilin/p/4466708.html
1、$ export NDK=/tmp/android-ndk-r8b(本机ndk路径)
2、$NDK/build/tools/make-standalone-toolchain.sh \ --platform=android-19 \ --install-dir=/tmp/my-android-toolchain(本地一个路径,可自行指定)
3、$ export PATH=/tmp/my-android-toolchain/arm-linux-androideabi/bin:$PATH (前面部分/tmp/my-android-toolchain是2中指定的路径)
另,本机执行的结果是执行到某个目录下的压缩文件arm-linux-androideabi.tar.bz2,提示信息中会显示出该文件的目录,将该压缩文件拷贝到2中指定的目录下,解压缩即可,继续后面的配置。
4、$ export SYSROOT=/tmp/my-android-toolchain/arm-linux-androideabi/sysroot (前面部分/tmp/my-android-toolchain是2中指定的路径)
5、$ export CC="arm-linux-androideabi-gcc --sysroot=$SYSROOT"
6、$ export CXX="arm-linux-androideabi-g++ --sysroot=$SYSROOT"
7、$ ./configure --prefix=$(pwd)/build --host=arm-linux --disable-shared CFLAGS="-march=armv7-a" CPPFLAGS="-D__ANDROID_API__=19"
8、若出现如下错误:
/Users/ouasahikage/my-android-toolchain/arm-linux-androideabi/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld: error: cannot open crtbegin_dynamic.o: No such file or directory
说明是上面的export配置有问题,自己检查是否配置正确。
9、若配置成功(执行configure命令没有报错),执行make报如下错误:
undefined reference to 'stderr'
说明是AndroidAPI版本较低导致的,应该是从17之后就没有stderr,应当在configure的时候指定一下:CPPFLAGS="-D__ANDROID_API__=19"。
参考链接:http://blog.chinaunix.net/uid-20535334-id-4589762.html