Можно ли разбить проект на несколько папок?

Возможно разделить проект на серверные файлы. Однако похоже, что все они должны находиться в одной папке с файлом .ino.

Можно ли разделить проект на несколько папок? У меня есть несколько репозиториев git, которые я хочу использовать в одном проекте, и я не могу использовать их как библиотеки. У каждого репозитория должна быть своя папка…

, 👍2

Обсуждение

Какую операционную систему ты используешь?, @Majenko

@Majenko Win10. Имеет ли это значение для данного случая? В наше время все очень похоже везде., @zhekaus

Да, ты можешь. Это работает, и многие проекты используют подпапки. И НЕТ, вы не увидите их в своей Arduino IDE. Как сказал st2000, Arduino IDE проста, и людям она нравится, потому что она проста. Если вы хотите контролировать свой процессор и код, используйте PlatformIO., @Adriano

@Адриано как? Я могу ссылаться на заголовки в подпапках, но Arduino IDE не компилирует определения из подпапок. И, ребята, как вы вообще можете назвать это «простым»? Похоже, все просто только для простых дел., @zhekaus

Если у вас есть заголовок внутри подпапки, вы можете просто вызвать #include "subfolder/header.h", и это сработает. Например, вы можете увидеть этот большой проект: https://github.com/xoseperez/espurna/tree/dev/code/espurna — но вы не увидите файлы внутри Arduino IDE. Простота означает, что если у вас нет навыков программирования, вы можете открыть и отредактировать что-то, не теряя времени, чтобы узнать, что такое IDE и как она работает. В будущем с версией PRO будет проще что-то разрабатывать... Надеюсь ;), @Adriano

@Adriano Как я уже сказал, у меня нет проблем с заголовками. У меня есть файлы .cpp внутри подпапки. Как заставить IDE скомпилировать их? Мне не нужно работать с ними через IDE, это нормально., @zhekaus

@zhekaus Я написал ответ как ответ, а не как комментарий. Надеюсь, это нормально для вас. Я знаю, что вы хотите. Вам нужен комфорт Visual Studio в простом текстовом редакторе со встроенным компилятором. Вы можете использовать Visual Studio + Visual Micro, и у вас будут все удобства, которые вы хотите ;) Но Arduino IDE также дает вам множество возможностей для разработки более сложных проектов., @Adriano


1 ответ


Лучший ответ:

1

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

Возможно, также лучше, если вы знаете, как работает Arduino IDE, прежде чем пытаться создавать сложные проекты.

Краткий ответ: Да, это возможно

Обычно у вас есть ino-файл, некоторые другие файлы и множество библиотек. Если вы хотите создать что-то для своего проекта, вы можете просто создать папку внутри папки библиотеки.

Но это не то, что вам нужно, верно?

Вы можете создать множество папок внутри своего проекта и включить любой заголовок в свои папки просто с помощью
#include "subfolder/yourfile.h"

Файлы не будут открываться в Arduino IDE.

Вы также можете создать свою "мини-библиотеку", чтобы компилятор скомпилировал ее вместе с вашим проектом. Эта библиотека должна находиться в подпапке с именем src. На этом этапе он будет преобразован и скомпилирован для вашего проекта.

Простой рабочий пример:
testsub.ino

#include "src/test.h"
Test *test = new Test();
void setup(){
  Serial.print(test->number());
}
void loop(){
}

Создайте подпапку src и поместите файлы:
test.h

class Test
{
public:
  Test();
  int number();
};

и
test.cpp

#include "test.h"
Test::Test() {
}
int Test::number() {
  return 95;
}

Если вам нужна другая "библиотека", вы можете создать еще одну подпапку с именем src.

,

Вы знаете, это, наконец, нечто! Большое спасибо! Однако как я могу иметь дополнительную подпапку с тем же именем src?, @zhekaus

Вам нужно поместить вторую подпапку в папку src. И там вы можете разместить еще одну папку src. Это единственный способ на данный момент., @Adriano