0

我正在开发一个算法库,为 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 在我的情况下表现异常的原因。

4

0 回答 0