2017-09-05 336 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

固定。謝謝。 –