我有一个非常简单的 CUDA 项目:
cmake_minimum_required(VERSION 3.17)
project(simpleCuda LANGUAGES CXX CUDA)
add_executable(simpleCuda)
target_sources(simpleCuda PUBLIC main.cu)
target_compile_features(simpleCuda PUBLIC cxx_std_17)
我可以打开该文件夹并构建/运行可执行文件。然而,所有 CUDA 智能感知都搞砸了(
__global__
、cudaMalloc
等)。我错过了什么吗?请参阅下面我的CMakeSettings.json
{
"configurations": [
{
"name": "x64-Debug",
"generator": "Visual Studio 16 2019 Win64",
"configurationType": "Debug",
"inheritEnvironments": [ "msvc_x64_x64" ],
"buildRoot": "${projectDir}\\build\\${name}",
"installRoot": "${projectDir}\\install\\${name}",
"cmakeCommandArgs": "",
"buildCommandArgs": "",
"ctestCommandArgs": "",
"variables": [],
"intelliSenseMode": "windows-msvc-x64"
}
]
}
和 CMake 目标视图:
请注意,C++ 的智能感知也很混乱。我没有得到任何自动完成功能。
Intellisense 不适用于 Visual Studio 2019 中的 CMake CUDA 项目
我认为您应该在
include_directories("xxxx"//contain the CUDA library path)
文件中使用添加 CMakeLists.txt
来包含用于 Intellisense 的 CUDA 库。
将其添加到每个
CMakeLists.txt
文件中:
include_directories("C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include")
此外,如果仍然不行,请执行以下步骤:
1)关闭VS,删除解决方案文件夹下的
.vs
隐藏文件夹以及out
等任何输出文件夹,然后重新启动项目再次测试。
2)在扩展菜单-->管理扩展下禁用任何其他第三方与扩展,以检查是否是由某些扩展引起的。
3)通过工具-->导入和导出设置->重置所有设置
重置所有vs设置4) 在VS中修复或者更新到最新版本
你想出来了吗?我也有同样的问题。