启用CUDA语言编译识别文件失败,错误日志位置在哪?
CUDA编译识别失败的错误日志位置查询
配置CUDA项目时,在CMakeLists.txt中调用enable_language(CUDA),执行cmake -B C:\Path\To\BuildDir进行配置,收到如下错误(仅提示编译失败但无具体错误内容):
... etc. etc. ... CMake Error at C:/Program Files/CMake/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:838 (message): Compiling the CUDA compiler identification source file "CMakeCUDACompilerId.cu" failed. Compiler: Build flags: Id flags: --keep;--keep-dir;tmp -v` "CMakeCUDACompilerId.cu" failed. Compiler: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/bin/nvcc.exe Build flags: Id flags: --keep;--keep-dir;tmp -v Call Stack (most recent call first): C:/Program Files/CMake/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:8 (CMAKE_DETERMINE_COMPILER_ID_BUILD) C:/Program Files/CMake/share/cmake-3.30/Modules/CMakeDetermineCompilerId.cmake:53 (__determine_compiler_id_test) C:/Program Files/CMake/share/cmake-3.30/Modules/CMakeDetermineCUDACompiler.cmake:131 (CMAKE_DETERMINE_COMPILER_ID) CMakeLists.txt:34 (enable_language)
错误日志的位置
CMake编译测试代码时的详细错误信息,会保存在构建目录的临时尝试编译子目录中,路径为:C:\Path\To\BuildDir\CMakeFiles\CMakeScratch\TryCompile-XXXXXX
其中XXXXXX是随机生成的字符串。
在该目录下,CMakeError.log文件记录了编译过程的标准错误流,也就是你需要的具体错误内容;另外CMakeOutput.log会记录标准输出,也可辅助排查问题。
直接查看详细错误的方法
如果不想查找日志文件,可以在执行CMake配置时添加--verbose参数,直接输出编译测试代码的详细命令和错误信息:
cmake -B C:\Path\To\BuildDir --verbose
内容的提问来源于stack exchange,提问作者einpoklum
相关产品推荐
相关产品推荐

