androidstudio编译boost线程库报错 undefined reference to boost::thread incompatible target
AndroidStudio编译boost::thread报错
报错信息
boost_1_72_0/android_build/lib/libboost_thread-clang-mt-1_72.a(thread.o): incompatible target
boost/thread/detail/thread.hpp:716: error: undefined reference to ‘boost::thread::native_handle()’
分析解决办法:
incompatible target 意思是引入的库CPU架构(指令集)不兼容。
因为编译库用的命令是 toolset=clang-arm64,也就是只能适用于 abiFilters "arm64-v8a"
b2 target-os=android toolset=clang-arm64 link=static --stagedir=android_build
修改配置为以下则编译通过了。
defaultConfig {
ndk {
abiFilters "arm64-v8a"
}
}
踩坑:
CMakeLists.txt中添加 add_definitions (-lpthread) 编译参数是无效的解决方法!!!