【发布时间】:2019-10-29 12:48:45
【问题描述】:
我正在使用 CMake 3.13 来构建项目,它具有对 CUDA 作为语言的固有支持。该项目需要 nVIDIA Toolkit Extensions 库。在以前的系统上,我在/usr/local/cuda/lib64 下拥有它。我使用了find_library() 命令,我认为它应该足够了,一切都很好。但是 - 它不是,它不是:在使用 OS 分发包安装 CUDA 的系统上,直接在 /usr 下,我的命令不起作用。
更具体地说,我正在使用:
find_library(CUDA_NVTX_LIBRARY
NAMES nvToolsExt nvTools nvtoolsext nvtools nvtx NVTX
PATHS ${CUDA_TOOLKIT_ROOT_DIR} ENV LD_LIBRARY_PATH
PATH_SUFFIXES "lib64" "common/lib64" "common/lib" "lib"
DOC "Location of the CUDA Toolkit Extension (NVTX) library"
NO_DEFAULT_PATH
)
这是缺少/usr/lib/x86_64-linux-gnu/libnvToolsExt.so。
问题:
- 我应该如何更改我的 find_library 命令以免错过此类特定于目标平台的文件夹?
- 我是否以错误的方式查找 NVTX 库?我可以以某种方式依赖 CMake 在内部找到的内容吗?
注意事项:
-
libOpenCL.so,nVIDIA 的 OpenCL 层,我遇到了基本相同的问题。
【问题讨论】: