如何解决Intellisense在Visual Studio 2019中不适用于CMake CUDA项目
我有一个非常简单的CUDA项目:
- 一个single .cu file。
- 一个简单的CMakeLists.txt文件:
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
来包含 CUDA 用于Intellisense的库。
在每个CMakeLists.txt
文件中添加此文件:
include_directories("C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include")
此外,如果仍然无法正常运行,请执行以下步骤:
1)关闭VS,删除解决方案文件夹下的.vs
隐藏文件夹和任何输出文件夹(如out
),然后重新启动项目以再次进行测试。
2)禁用扩展菜单-> 管理扩展下的任何其他第三方vs扩展,以检查是否由某些扩展引起
3)通过工具-> 导入和导出设置-> 重置所有设置重设所有设置>
4) do a repair in VS或将其更新为最新版本
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。