如何覆盖CMake用于CUDA目标的(主机端)C++编译器?

d7v8vwbk  于 2023-10-20  发布在  其他
关注(0)|答案(1)|浏览(173)

我使用的CUDA版本不支持我系统上安装的GCC版本(我的GCC太新了)。我正在尝试构建一个使用CMake进行构建配置的存储库。
我知道如何重写C++编译器,传统上:

export CXX=/path/to/other/compiler-binary

然后CMake就能接收到也可以使用cmake -DCMAKE_CXX_COMPILER。但是,在编译CUDA主机端代码时,这两个选项都不起作用:CMake仍然有CUDA尝试在我的系统上使用我的默认GCC版本。
我如何告诉它使用CUDA的替代C++编译器?
其他信息:

  • CMake 3.22.1
  • Devuan GNU/Linux Chimaera
zqry0prt

zqry0prt1#

CMake将 * 不 *(现在)默认使用您的CMAKE_CXX_COMPILER作为CUDA主机端代码的C++编译器;有不同的设置像这样运行构建配置:

cmake -DCMAKE_CUDA_HOST_COMPILER=/usr/bin/g++-9

(当然,将路径替换为您选择的C++编译器)

相关问题