【问题标题】:cmake on android find_library fail to find with custom pathandroid find_library上的cmake无法使用自定义路径找到
【发布时间】:2018-02-13 18:38:26
【问题描述】:

我用 cmake/android 找不到库,所以我写了这个简单的测试。

find_library(log-lib log
  PATHS /Users/sam/Library/Android/sdk/ndk-bundle/platforms/android-21/arch-arm/usr/lib
  NO_DEFAULT_PATH)

没关系。然后我将该 lib 目录复制到另一个位置。

find_library(log-lib log
  PATHS /Users/sam/tmp/lib
  NO_DEFAULT_PATH)

失败!我很确定我已经复制了整个 lib 目录。

有什么想法吗?提前致谢。

【问题讨论】:

    标签: android cmake find


    【解决方案1】:

    由于您是交叉编译,因此您必须告诉CMake,允许在工具链指定之外的其他地方使用库(在您的情况下,在 Android SDK 目录之外的其他地方)。

    为此,您可以添加以下内容:

    set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
    set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
    set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE BOTH)
    

    (在你的情况下,只有第一个是相关的)

    更多信息here

    【讨论】:

    • 已修复。谢谢。
    • 非常感谢 - 找到这个解决方案花了很长时间。我希望这有更好的记录!
    猜你喜欢
    • 2012-08-18
    • 1970-01-01
    • 2021-07-11
    • 2011-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多