VSCode неправильно импортирует заголовочные файлы из netinet - PullRequest
0 голосов
/ 24 октября 2018

Я пытаюсь использовать типы структур tcphdr и udphdr, которые определены в заголовочном файле netinet.h.

Хотя при использовании #include<netinet/tcphdr.h> VSCode по-прежнему показывает сообщение:

pointer to incomplete class type is not allowed

во всех местах, где я хочу получить доступ к значениям данной tcphdr или udphdr структуры.

Поскольку компиляция работает нормально, я думаю, что я что-то упустил в VSCode.

Это мои текущие настройки проекта.

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/usr/include/python3.5m",
                "/usr/include/netinet"
            ],
           "defines": [],
           "compilerPath": "/usr/bin/gcc",
           "cStandard": "c11",
           "cppStandard": "c++17",
           "intelliSenseMode": "clang-x64"
        }
    ],
    "version": 4,
}

Минимальный пример:

#include <stdlib.h>
#include <stdio.h>

#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>

int main(int argc, char** argv) {
  struct tcphdr *test = malloc(sizeof(struct tcphdr));
  printf("%d\n", ntohs(test->dest));
  free(test);
  return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...