您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在某些情况下CMake找不到Boost的可能原因?

在某些情况下CMake找不到Boost的可能原因?

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

其他 2022/1/1 18:23:49 有544人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶