交叉编译时,工具链文件通常会设置变量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)而构建。



