我开始在我的大学担任研究员,受命使用内部框架(也用C ++开发)为用C ++编写的现有应用程序开发组件。
当前,我正在努力在Visual Studio 2017中正确设置项目。 每当我尝试从框架中包含文件时,IntelliSense都会抱怨无法打开该文件。
但是,以下问题使问题更加奇怪:
解决方案属性设置正确;该项目确实的构建没有任何投诉。
编写'#include'指令IntelliSense 做会提供指向头文件(即#include <framework/class.h>
)的正确相对路径。
我可以使用“ 打开文档“ class.h” ”对话框从源文件中引用该头文件。
我已经遇到了这个问题:
到目前为止,没有任何事情可以解决我的问题。有人遇到过这个问题吗?
TL; DR
编辑:
我正在使用MacBook“ 13 2016;通过Bootcamp安装了Windows 10 Pro 64位。
答案 0 :(得分:1)
发生此问题的原因是Windows现在可以选择使文件夹区分大小写,并且intellisense习惯于更改它尝试打开的文件的大小写。
Intellisense尝试使用类似C:\ WORKSPACEPATH \ PROJECTDIR \ MYFILE.cpp的路径(即所有大写字母),但是如果将C:\ workspace(或该路径中的任何其他目录)设置为区分大小写并且不完全匹配,则不会找到它。
在我的情况下,这是因为我通过WSL创建了该文件夹,默认情况下,该文件夹在创建的任何新目录上都启用了区分大小写(包括通过git clone
之类的东西)。参见here
轻松修复
可以通过运行以下命令解决此问题:
fsutil file setCaseSensitiveInfo <directory> disable
更多命令
您可以通过运行来检查文件夹是否启用了区分大小写
fsutil file queryCaseSensitiveInfo <directory>
最后,一个方便的单行递归地禁用它:
for /r /d %f in (.) do (fsutil file setCaseSensitiveInfo %f disable)
(此信息最初是作为对原始问题的评论而发布的,后来证明实际上是相同的问题。请参见评论以获取其他人的意见)