c++ - C++ IntelliSense 指向包含库的错误版本
问题描述
我有一个C++
静态库项目,编译时没有任何错误,也不会在Error list
窗口中显示任何错误。所以一切似乎都正常。除了当我尝试打开源代码(CTRL
+左键单击库或库特定项目)时,会打开不正确版本的文件。为什么?
详细说明。我有CUDA 9.1
,CUDA 9.2
并CUDA 10.2
安装在我的PC
. 我的项目有以下CUDA Linker
配置:
附加库目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64;%(AdditionalLibraryDirectories)
附加依赖项:cudart.lib;%(AdditionalDependencies)
在CUDA linker
我 Command line
有:
"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin\nvcc.exe" -dlink -o x64\Debug\Core3.device-link.obj -Xcompiler "/EHsc /nologo /Zi" - L"C:\Program Files\NVIDIA GPU 计算工具包\CUDA\v10.2\lib\x64" cudart.lib
在CUDA C/C++
我Command line
有:
所以,看起来还可以。但是在代码中,当我单击任何包含时-它们指向9.2
源。例子:
#include <cuda.h>
#include "cuda_runtime.h"
#include <device_launch_parameters.h>
路径为:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\ v9.2 \include
此外,我检查了环境变量。都好。还检查了props
文件中使用了哪些.vcxproj
文件。属性CUDA 10.2.props
无处不在。
所以我的问题是 - 为什么IntelliSence
仍然认为我使用的是旧版本CUDA
?更重要的是 - 我如何让他使用正确的10.2
版本?
编辑1:评论中要求提供更多信息。包括目录 - 使用默认值。
解决方案
@Neywat 建议删除该IntelliSense
文件夹并且它有效。
我不得不删除.vs
解决方案目录中的整个文件夹。
但问题仍然存在 - 这是一个已知问题吗?微软团队是否意识到这一点?关于.vs
文件夹生命周期的建议是什么?我们应该不时清理它吗?
推荐阅读
- powershell - Powershell:无法绑定参数“PercentComplete”。无法将值“GetPercent”转换为类型“System.Int32”
- visual-studio - 我有一个在 Windows 上运行的 VS C++ 中的小型 Vulkan 项目。我可以让它在同一个解决方案中运行在 Android 上,同时支持 Windows 和 Android 吗?
- makefile - 如何在 NMake 中创建和使用多行字符串变量?
- mysql - 如何从 aws 实例中读取密钥并添加到我的 mysql 查询中?
- flutter - Flutter 容器布局行为
- php - 多个域和一个文件夹 - 如何管理 sitemap.xml?
- javascript - Sencha Touch Picker show() 与最后一次选择
- python - 使用 sqlalchemy 进行批量更新
- javascript - Javascript根据文本框值检查表单中的单选按钮
- c++ - 多维数组c ++中数组下标的无效类型'int [int]'