Windows下NDK19c(Clang) 交叉编译armeabi-v7a架构下Boost1.59

Home / Android 4月前 1579

Boost1.55此方法也可以编译通过,但是使用的过程会报错:requires unsupported dynamic reloc R_ARM_REL32; recompile with -fPIC,加了-fPIC参数没效果,换成1.59编译成功就能跑起来。

先参考NDK19c Clang交叉编译arm64-v8a、armeabi-v7a架构下Boost

project-config.jam

# Boost.Build Configuration
# Automatically generated by bootstrap.sh
import option ;
import os ;
# Compiler configuration. This definition will be used unless
# you already have defined some toolsets in your user-config.jam
# file.
if [ os.name ] = CYGWIN || [ os.name ] = NT {
androidPlatform = windows-x86_64 ;
}
else if [ os.name ] = LINUX {
androidPlatform = linux-x86_64 ;
#androidPlatform = linux-x86 ;
}
else if [ os.name ] = MACOSX {
androidPlatform = darwin-x86 ;
}
else {
androidPlatform = windows-x86_64 ;
}
modules.poke : NO_BZIP2 : 1 ;
ANDROID_NDK = D:/Sdk/ndk/19.2.5345600 ;
using gcc : android4.9 : $(ANDROID_NDK)/toolchains/llvm/prebuilt/$(androidPlatform)/bin/armv7a-linux-androideabi24-clang++.cmd :
<archiver>$(ANDROID_NDK)/toolchains/llvm/prebuilt/$(androidPlatform)/bin/arm-linux-androideabi-ar.exe
<ranlib>$(ANDROID_NDK)/toolchains/llvm/prebuilt/$(androidPlatform)/bin/arm-linux-androideabi-ranlib.exe
<compileflags>--sysroot=$(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/sysroot
<compileflags>-I$(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/
<compileflags>-I$(ANDROID_NDK)/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include/arm-linux-androideabi/
<compileflags>-I$(ANDROID_NDK)/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/include/c++/v1
<compileflags>-I$(ANDROID_NDK)/sysroot/usr/include
<compileflags>-I$(ANDROID_NDK)/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/include/x86_64-linux-android
<compileflags>-fpie
<compileflags>-fPIC
<compileflags>-DNDEBUG
<compileflags>-DBOOST_FILESYSTEM_VERSION=3
<compileflags>-std=c++11
<compileflags>-lc++_static
<compileflags>-fno-addrsig
<compileflags>-O2
<compileflags>-D__ANDROID_API__=24
;

然后在boost1.59根目录下执行

b2.exe link=static runtime-link=static threading=multi target-os=linux threadapi=pthread --stagedir=android_build --prefix=android_build --with-system --with-thread


本文链接:https://www.it72.com/12716.htm

推荐阅读
最新回复 (0)
返回