Android를 위한 Boost 구축 기술
배경
목표
aarch64-linux-android28-clang++
처럼 컴파일러의 버전을 직접 지정합니다)를 사용하지 않습니다.참고로 gcc는 NDK18 정도에 폐지되었고 clang(+libc++)만 있습니다.
BCP
우선, boost를 모두 사용할 필요가 없기 때문에 bcp에서 필요한 모듈만 추출합니다.
(bjam도
--without-***
이런 방법이 있는데 귀찮아요)bcp에서 사용하고 싶은 기능 (+file?)에서 기술한 장면은 다음과 같은 절차를 이용하여 명세표를 작성하여 개념 디자인에서 체량의 부피를 분석하도록 한다
$ bcp <<packages>> /path/to/target
컴파일러 라이브러리 (header 파일로만 완성) 가 필요 없을 때 종료합니다.고생하셨습니다.
컴파일 라이브러리가 필요한 (e.g.
system
,thread
에서build bootstrap.bat bootstrap.sh boostcpp.jam boost-build.jam
bcp의 <<packages>>
에 포함되어 있습니다.사용자 정의 설정 만들기
user-config.jam
에서 컴파일러를 지정합니다.$NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin
에 컴파일러가 있습니다.# Set path to toolchain
local AndroidToolchainRoot =
/home/syoyo/local/android-ndk-r19c/toolchains/llvm/prebuilt/linux-x86_64
;
using clang
: android
: $(AndroidToolchainRoot)/bin/aarch64-linux-android28-clang++
;
잠깐만.b2
의--user-config
옵션을 통해 파일의 위치를 지정합니다. toolset=clang
의user-config.jam
설정을 볼 수 있습니다.$ ./configure
$ ./b2 --reconfigure toolset=clang target-os=android link=static --user-config=user-config.jam
버려진 함수에 대한 지원이 부족합니다.기본적으로 코어 1개만 사용하므로 CPU 코어 수 추적using clang
등을 참조하십시오.인스턴스
의 README 및
-j8
TODO
boost/user-config.jam
를 개선하여ldflags 등을 지정한다.현상so 구축 (link=dynamic) 이라면 user-config.jam
등을 찾을 수 없어서 오류가 발생했습니다.-lrt
컴파일러를 지정할 수 있습니까?Reference
이 문제에 관하여(Android를 위한 Boost 구축 기술), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/syoyo/items/dbc063a54554be9226a5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)