我已经使用 libtorrent-rasterbar 源 (github) 为 Android (arm) 编译了 Libtorrent-rasterbar,但遇到了一些有问题的结果。下面我列出了我在编译之前采取的步骤:
在为 arm 设置独立工具链后,我将 openssl 库移动到工具链库文件夹中,并将标头移动到工具链包含文件夹等中。我也使用 boost-android 库进行了此操作。接下来我导出了我的环境变量,如下所示:
export SYSROOT=$ANDROIDNDK/platforms/android-16/arch-arm
export PATH=/opt/android/toolchains/gcc-arm/bin:$PATH
export CC=arm-linux-androideabi-gcc
export CXX=arm-linux-androideabi-g++
export CROSSHOST=arm-linux-androideabi
export CROSSHOME=/opt/android/toolchains/gcc-arm
最后,我使用以下配置:
./configure --host=$CROSSHOST --prefix=$CROSSHOME --with-boost=$CROSSHOME --with-boost-libdir=$CROSSHOME/lib --enable-shared --disable-static --enable-debug=yes --enable-loggin-yes --with-openssl=$CROSSHOME
一切都编译得很好,但是生成的共享库比它应该的要大得多。65mb。我尝试更改我的 CPPFLAGS 以包含 -O2 (优化设置),但它并没有产生大小差异。有没有人将 libtorrent-rasterbar 编译为 android 的共享或静态库?如果是这样,您的最终二进制文件的大小是多少?您采取了哪些步骤?
非常感谢!
更新:我忘了包括我正在编译的机器。开始:
- CPU i7 4770k
- 内存 16gb 2133mhz
- HDD 400GB SSD 分区
- 操作系统 OSX 优胜美地
- GCC arm-linux-android-gcc (4.9)
- NDK r10e
- 工具链 arm-linux-androideabi-4.9
- GPU nvidia gtx970(无关)..
是的,这是一个hackintosh。