#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(./)