使用Android工具链构建时CMake无法找到库和包

时间:2019-12-19 11:45:21

标签: android c++ cmake pytorch libtorch

我正在研究一个算法库,该库为Android应用程序提供预编译的.so文件。我们想在我们的库中使用PyTorch C ++ API,因此我付出了一些努力。但是,在尝试使用CMake进行构建时遇到了一些问题。

在不使用NDK提供的android.cmake.toolchain的情况下,构建效果很好,并且编译后的程序的行为符合预期。当我尝试使用android.cmake.toolchain来构建库时,事情出错了,TorchConfig.cmake(此文件由Torch提供)中的以下两行出现了奇怪的错误:

find_package(Caffe2 REQUIRED PATHS ${CMAKE_CURRENT_LIST_DIR}/../Caffe2) [Line 40] 
find_library(C10_LIBRARY c10 PATHS "${TORCH_INSTALL_PREFIX}/lib") [Line 47]

尽管这些命令使用PATHS来指定绝对路径,但CMake坚持认为找不到这些软件包和库。我尝试使用message打印出这些路径并检查,CMaKe应查找的文件(Caffe2Config.cmakelibc10.so)确实存在于指定的路径中。

我知道android工具链会更改要使用的编译器(捆绑为clang),但是我看不出cmake在我的情况下表现奇怪的原因。

0 个答案:

没有答案