Включить путь в vscode, не работающий для c и cmake

#c #visual-studio-code #cmake #include-path

Вопрос:

В моем проекте есть следующая структура папок :

 .
├── CMakeLists.txt
├── common
│   └── packet.h
├── README.md
└── src
    └── main.c

 

В эту структуру я хочу включить common/packet.h src/main.c .

главная.c:

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

#include "common/packet.h"

int main(int argc, char const *argv[])
{
    printf("hello worldn");
    return EXIT_SUCCESS;
}
 

пакет.ч:

 #if !defined(PACKET_H)
#define PACKET_H

#define test 123

#endif // PACKET_H
 

Но я получаю ошибку за включение #include "common/packet.h .

Я могу скомпилировать этот файл с помощью следующей команды :

 $ cc -o src/main.c -I.
 

И я знаю, что мне следует добавить его путь к c_cpp_properties.json :

c_cpp_properties.json:

 {
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "/home/ali/programming/c/socket/2/init-udp/1/"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/clang",
            "cStandard": "c17",
            "cppStandard": "c  14",
            "intelliSenseMode": "linux-clang-x64",
            "configurationProvider": "ms-vscode.cmake-tools"
        }
    ],
    "version": 4
}
 

Я пытался включить этот путь, но он не работает для меня.

введите описание изображения здесь

В любом случае, как я могу решить свою проблему ?

Ответ №1:

Вы должны добавить эту строку кода в CmakeLists.txt файл:

 include_directories(./)