Hi,
I am trying to create a sketch with multiple source files (to keep my own classes definitions out of main sketch file), but I am not able to include MySensors.h
.
Lets consider the following GatewayESP8266 example (4 files) for NodeMCU 0.9 board:
I have the main sketch file GatewayESP8266.ino
// GatewayESP8266.ino
...
#include "myownconfig.h"
#include <MySensors.h>
...
MySensor config file myownconfig.h
// myownconfig.h
#ifndef MYOWNCONFIG_H
#define MYOWNCONFIG_H
// Enable debug prints to serial monitor
#define MY_DEBUG
...
#endif
and my test class header and source files test.cpp
and test.h
// test.cpp
#include "test.h"
// test.h
#ifndef TEST_H
#define TEST_H
#include "myownconfig.h"
#include <MySensors.h>
class Test {
MyMessage &message;
};
#endif
Compiling (board NodeMCU 0.9) gives a bunch of errors:
sketch/test.cpp.o: In function `__gdb_do_break': /Users/hynekbaran/Documents/Arduino-ESP/libraries/MySensors/core/MyGatewayTransport.cpp:69: multiple definition of `g_cont' sketch/GatewayESP8266.ino.cpp.o:/Users/hynekbaran/Documents/Arduino-ESP/libraries/MySensors/core/MySensorsCore.h:428: first defined here sketch/test.cpp.o: In function `__gdb_do_break': /Users/hynekbaran/Documents/Arduino-ESP/libraries/MySensors/core/MyGatewayTransport.cpp:69: multiple definition of `_ethernetServer' sketch/GatewayESP8266.ino.cpp.o:/Users/hynekbaran/Documents/Arduino-ESP/libraries/MySensors/core/MySensorsCore.h:428: first defined here sketch/test.cpp.o: In function `hwInit()': /Users/hynekbaran/Documents/Arduino-ESP/libraries/MySensors/core/MyGatewayTransport.cpp:69: multiple definition of `hwInit()' sketch/GatewayESP8266.ino.cpp.o:/Users/hynekbaran/Documents/Arduino-ESP/libraries/MySensors/core/MyHwESP8266.cpp:24: first defined here sketch/test.cpp.o: ... collect2: error: ld returned 1 exit status exit status 1 Error compiling for board NodeMCU 0.9 (ESP-12 Module).
The same problem appears with ArduinoPro DimmableLigth test project.
Thanks for help!