AFAIK, c'est une bizarrerie intégrée à l'IDE Arduino. La meilleure solution de contournement à laquelle je peux penser est une structure de fichiers comme:
ArduinoWorkspace --- /myproj/ ----+ /src/ --------+ myproj.cpp
+ myproj.ino + sensor.h
+ sensor.cpp
+ (more files)
, où myproj.cpp est simplement #include
main.cpp. Cela devrait laisser vos fichiers de projet "propres" afin qu'ils fonctionnent également dans un environnement plus typique.
Mise à jour:
J'ai emprunté le nom "main" à votre question, mais à la réflexion, "main" est un nom réservé, spécifiquement, chaque programme C ou C ++ a un code main.c ou main.cpp comme code de niveau supérieur, fourni par le système si vous n'en fournissez pas. J'ai donc évité de l'utiliser comme nom de dossier et de projet (mais n'hésitez pas à l'essayer) et j'ai mis à jour le diagramme. Vous avez besoin d'un dossier de projet et d'un fichier .ino du même nom. Le fichier .ino pourrait
#include <src/anything-else-you-like>
, par exemple, votre fichier de code de niveau supérieur, tirant ainsi tout le reste. Vous devrez peut-être pour votre .ino à #include
chacun des fichiers dans le src
dossier, si le compilateur ne comprend pas par lui-même, c'est là que se trouvent vos autres fichiers.
BTW, si vous utilisez le nom main.cpp pour votre fichier supérieur, il devra appeler les fonctions setup () et loop () (et la fonction d'événement série, si vous l'utilisez). Il est probablement préférable de laisser le nom `` principal '' seul, de laisser le système fournir le même principal que chaque programme Arduino obtient par défaut, et d'écrire votre code de projet de la manière typique d'Arduino - en commençant par setup () et loop ().
myproj.cpp
tu veux diremyproj.ino
? Parce que je ne vois pas oùmyproj.cpp
est!