CMake报错无法提取.tar.gz文件,原因排查咨询
问题排查与解决
你的问题是CMakeLists.txt中的语法错误,并非CMake的Bug。
错误原因
在FetchContent_Declare的URL行末尾多了一个逗号:
URL ${CMAKE_CURRENT_SOURCE_DIR}/third_party/cuda-api-wrappers-0.8.0-rc1.tar.gz,
这个逗号会被CMake解析为URL路径的一部分,导致实际查找的文件路径错误,进而触发"无法识别文件类型"的报错。你手动解压时使用的是正确文件名,所以能正常执行,但CMake读取的路径包含多余逗号,自然找不到有效文件。
修正后的配置
将逗号删除即可:
include(FetchContent) FetchContent_Declare( cuda-api-wrappers URL ${CMAKE_CURRENT_SOURCE_DIR}/third_party/cuda-api-wrappers-0.8.0-rc1.tar.gz URL_HASH MD5=463d41c3777115ecf3375d8f45c10d92 OVERRIDE_FIND_PACKAGE ) find_package(cuda-api-wrappers REQUIRED)
内容的提问来源于stack exchange,提问作者einpoklum
相关产品推荐
相关产品推荐

