Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何修复intellisense';找不到符号的定义';关于WSL_C++_Visual Studio_Include_Intellisense_Windows Subsystem For Linux - Fatal编程技术网

C++ 如何修复intellisense';找不到符号的定义';关于WSL

C++ 如何修复intellisense';找不到符号的定义';关于WSL,c++,visual-studio,include,intellisense,windows-subsystem-for-linux,C++,Visual Studio,Include,Intellisense,Windows Subsystem For Linux,我正在Visual Studio 2017中构建一个解决方案,我们在WSL上为ARM64目标进行交叉编译 我已经设置了所有的include路径,编译似乎可以用于这个特定的文件。正在讨论的标题位于W:\drive上,它是WSL文件系统 在文件顶部的#include行,我可以单击有问题的标题()并右键单击打开文档。这将打开正确的标题,并且我的定义位于新打开的文档中。Intellisense似乎无法在此文件上正常工作,因为没有正确突出显示任何枚举或定义 但是,如果我在.c文件中使用该定义并尝试转到该定

我正在Visual Studio 2017中构建一个解决方案,我们在WSL上为ARM64目标进行交叉编译

我已经设置了所有的include路径,编译似乎可以用于这个特定的文件。正在讨论的标题位于W:\drive上,它是WSL文件系统

在文件顶部的#include行,我可以单击有问题的标题()并右键单击打开文档。这将打开正确的标题,并且我的定义位于新打开的文档中。Intellisense似乎无法在此文件上正常工作,因为没有正确突出显示任何枚举或定义

但是,如果我在.c文件中使用该定义并尝试转到该定义,我会得到一个“找不到符号“V4L2\u PIX\u FMT\u HEVC”的定义”

当将有问题的标题移动到C:\驱动器并将包含路径更改为相应的新路径时,Intellisense似乎可以识别该定义,“转到定义”工作正常

#include <linux/videodev2.h> //Open document works
#include <linux/v4l2-controls.h> //Open document works

...
case UDP_VIDEO_PROTOCOL_MPEG2:
    codec = V4L2_PIX_FMT_MPEG2; //Go to definition does not work
    break;
case UDP_VIDEO_PROTOCOL_H265:
    codec = V4L2_PIX_FMT_HEVC; //Go to definition does not work

#包括//开放文档作品
#包括//开放文档作品
...
案例UDP\U视频\U协议\U MPEG2:
编解码器=V4L2\u PIX\u FMT\u MPEG2//“转到定义”不起作用
打破
案例UDP_视频_协议_H265:
编解码器=V4L2\u PIX\u FMT\u HEVC//“转到定义”不起作用

问题似乎源于在WSL中创建的文件不使用Intellisense

显然,在撰写本文时,这个问题应该在VisualStudio2019中得到解决,但我还无法进行测试。仅仅为了解决这个问题,将我的工作场所切换到VisualStudio的预览版本并不容易