C++ IntelliSense 指向包含库的错误版本
C++ IntelliSense is pointing to an incorrect version of included library
我有一个 C++
静态库项目,编译时没有任何错误,在 Error list
window 中也没有显示任何错误。所以一切似乎都工作正常。除了当我尝试打开源代码时(CTRL
+ 左键单击库或库特定项目),然后打开了不正确版本的文件。为什么?
详细说明。我在 PC
上安装了 CUDA 9.1
、CUDA 9.2
和 CUDA 10.2
。我的项目有以下 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 Computing Toolkit\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
另外我检查了环境变量。都好。还检查了在 .vcxproj
文件中使用了哪些 props
文件。属性 CUDA 10.2.props
无处不在。
所以我的问题是 - 为什么 IntelliSence
仍然认为我使用的是旧版本的 CUDA
?更重要的是 - 我如何让他使用合适的 10.2
版本?
编辑 1: 评论中要求提供更多信息。包含目录 - 使用默认值。
变量检查:
@Neywat 建议删除 IntelliSense
文件夹并且有效。
不过我不得不删除解决方案目录中的整个 .vs
文件夹。
但问题仍然存在 - 这是一个已知问题吗?Microsoft 团队是否知道它?关于 .vs
文件夹生命周期的建议是什么?我们是否应该时常清理它?
我有一个 C++
静态库项目,编译时没有任何错误,在 Error list
window 中也没有显示任何错误。所以一切似乎都工作正常。除了当我尝试打开源代码时(CTRL
+ 左键单击库或库特定项目),然后打开了不正确版本的文件。为什么?
详细说明。我在 PC
上安装了 CUDA 9.1
、CUDA 9.2
和 CUDA 10.2
。我的项目有以下 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 Computing Toolkit\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
另外我检查了环境变量。都好。还检查了在 .vcxproj
文件中使用了哪些 props
文件。属性 CUDA 10.2.props
无处不在。
所以我的问题是 - 为什么 IntelliSence
仍然认为我使用的是旧版本的 CUDA
?更重要的是 - 我如何让他使用合适的 10.2
版本?
编辑 1: 评论中要求提供更多信息。包含目录 - 使用默认值。
@Neywat 建议删除 IntelliSense
文件夹并且有效。
不过我不得不删除解决方案目录中的整个 .vs
文件夹。
但问题仍然存在 - 这是一个已知问题吗?Microsoft 团队是否知道它?关于 .vs
文件夹生命周期的建议是什么?我们是否应该时常清理它?