gpt4 book ai didi

c++ - CMake 找不到 CUDA : "Could not find cmake module file: CMakeDetermineCUDACompiler.cmake"

转载 作者:行者123 更新时间:2023-11-28 01:25:57 27 4
gpt4 key购买 nike

我正在尝试编写一个需要 cuda 功能的 CMake 文件。咨询this answer ,我将这一行添加到我的 CMakeLists.txt 中:

set(CMAKE_CUDA_COMPILER  /usr/local/cuda-9.2/bin/nvcc)

但是当使用 cmake 命令时它仍然会报错:

yuqiong@yuqiong-G7-7588:/media/yuqiong/DATA/alexnet/src/cpp/train$ cmake .
CMake Error: Could not find cmake module file: CMakeDetermineCUDACompiler.cmake
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CUDA_COMPILER_ENV_VAR
CMake Error: Could not find cmake module file: /media/yuqiong/DATA/alexnet/src/cpp/train/CMakeFiles/3.5.1/CMakeCUDACompiler.cmake
CMake Error: Could not find cmake module file: CMakeCUDAInformation.cmake
CMake Error: Could not find cmake module file: CMakeTestCUDACompiler.cmake
-- Configuring incomplete, errors occurred!
See also "/media/yuqiong/DATA/alexnet/src/cpp/train/CMakeFiles/CMakeOutput.log".

这似乎令人困惑,因为我不知道还有什么地方可以设置环境变量?知道为什么 set 命令不能帮助 cmake 找到 nvcc 编译器吗?

为了以防万一,这是我的 CMakeLists.txt:

cmake_minimum_required(VERSION 3.5.1)
set(CMAKE_CUDA_COMPILER /usr/local/cuda-9.2/bin/nvcc)

project(train LANGUAGES CXX CUDA)

set(CMAKE_CXX_STANDARD 14)
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )


add_executable(train train.cu)
target_link_libraries( train ${OpenCV_LIBS} )

最佳答案

实际上,您需要 Linux 上的 CMake 3.8 才能使用 project(train LANGUAGES CUDA)。之前,您需要使用旧方法:

FindPackage(CUDA)

并手动添加库。

失败是因为你的CMake版本没有对CUDA的原生支持,用老方法。

关于c++ - CMake 找不到 CUDA : "Could not find cmake module file: CMakeDetermineCUDACompiler.cmake",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53859271/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com