交叉编译时,工具链文件通常会设置变量CMAKE_FIND_ROOT_PATH。结合将CMAKE_FIND_ROOT_PATH_MODE_LIBRARY变量设置为ONLY
,该CMAKE_FIND_ROOT_PATH
变量将用作有效的chroot 进行find_library
调用,因此仅 库。
存在用于调整行为find_path
(用于搜索包含路径)和的类似变量find_program
。
您使用的工具链文件实际上CMAKE_FIND_ROOT_PATH
位于第1521行:
set( CMAKE_FIND_ROOT_PATH "${ANDROID_TOOLCHAIN_ROOT}/bin"
"${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN_MACHINE_NAME}"
"${ANDROID_SYSROOT}"
"${CMAKE_INSTALL_PREFIX}"
"${CMAKE_INSTALL_PREFIX}/share" )
及以下将CMAKE_FIND_ROOT_PATH_MODE_*
变量设置为ONLY
。因此,您需要在这些目录之一下安装Boost,并提供相对于它的提示(如BOOST_ROOT)。
请注意,Boost应该为目标平台(如果您使用的是Android NDK)而不是交叉编译的平台(Linux)而构建。