Intellisense 不适用于 Visual Studio 2019 中的 CMake CUDA 项目

问题描述 投票:0回答:2

我有一个非常简单的 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++ 的智能感知也很混乱。我没有得到任何自动完成功能。

visual-studio cmake cuda intellisense
2个回答
1
投票

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中修复或者更新到最新版本


0
投票

你想出来了吗?我也有同样的问题。

© www.soinside.com 2019 - 2024. All rights reserved.