【发布时间】:2021-02-25 02:41:29
【问题描述】:
要将 pytorch c++ 库与 CMake 链接,您真的只需要 find_package(Torch REQUIRED) 并使用
-DCMAKE_PREFIX_PATH=/absolute/path/to/libtorch
您可以在这里下载源代码:https://download.pytorch.org/libtorch/nightly/cpu/libtorch-shared-with-deps-latest.zip CMake 教程在这里:https://pytorch.org/cppdocs/installing.html
我的WORKSPACE 中有以下内容:
new_local_repository(
name = "torch",
build_file_content = all_content,
path = "third_party/libtorch",
)
这在我的BUILD
cmake_external(
name = "torch",
cache_entries = {
"CMAKE_PREFIX_PATH": "/home/jackshi/projects/third_party/libtorch",
},
lib_source = "@torch//:all",
)
当我尝试链接到它时,我得到<dir> does not appear to contain CMakeList.txt
确实如此,但是,当您将其与find_package(Torch REQUIRED) 链接时,不需要顶级CMakeList.txt。 CMake 寻找 TorchConfig.cmake 。 bazel 可以在没有顶级 CMakeList.txt 的情况下为此包创建目标吗?它应该在寻找TorchConfig.cmake 对吧?
另外,通过http_archive获取的远程文件,CMAKE_PREFIX_PATH如何工作,你使用~/.cache/bazel目录吗?
谢谢!
【问题讨论】:
标签: bazel bazel-rules