Я создаю решение в Visual Studio 2017, где мы выполняем кросс-компиляцию на WSL для цели ARM64.
У меня есть все мои пути включения, и компиляция, похоже, работает для этого конкретного файла.Заголовки, о которых идет речь, находятся на диске W: \, который является файловой системой WSL
. В верхней части файла в строке #include я могу щелкнуть по заголовку, о котором идет речь (), и щелкнуть правой кнопкой мыши, чтобы открытьдокумент.Это открывает правильный заголовок, и мое определение в этом недавно открытом документе.Кажется, что Intellisense не работает правильно с этим файлом, так как ни одно из перечислений или определений, кажется, не выделено правильно.
Но если бы я перешел к использованию определения в моем файле .c и попыталсяперейти к определению, я получаю «Определение для символа 'V4L2_PIX_FMT_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