2017-09-05 65 views
2

我无法用cmake/android查找_library,所以我写了这个简单的测试。android上的cmake find_library无法找到自定义路径

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目录。

任何想法?提前致谢。

回答

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

+0

固定。谢谢。 –