Hi David,
Thanks for your explanation.
The project that I am working on involves ESP8266. Because of our company's workflow requires me to work offline most of the time, using online IDE and compiler is not an option. So I am trying to compile the sample code, MQTT on ESP8266, by using GCC ARM. Below is the error:
Compiling the example without changing the library
Building project ESP8266_MQTT_HelloWorld (NUCLEO_L073RZ, GCC_ARM)
Scan: .
Scan: mbed
Scan: env
Compile: ESP8266.cpp
[ERROR] In file included from ./mbed/cbbeb26dbd92/mbed.h:21:0,
from ./ESP8266Interface/ESP8266/ESP8266.cpp:19:
./mbed/cbbeb26dbd92/platform.h:21:20: fatal error: device.h: No such file or directory
#include "device.h"
^
compilation terminated.
[mbed] ERROR: "python" returned error code 1.
[mbed] ERROR: Command "python -u /Mbed/ESP8266_MQTT_HelloWorld/.temp/tools/make.py -t GCC_ARM -m NUCLEO_L073RZ --source . --build ./.build/NUCLEO_L073RZ/GCC_ARM" in "/Mbed/ESP8266_MQTT_HelloWorld"
I checked, because of lack of support for my board(NUCLEO L073RZ) in the library version that is being used by the ESP8266 team so I imported the latest mbed os 5 library from Github and these errors appeared:
Compiling the example by using mbed's latest library
Compile: ESP8266Interface.cpp
[Error] Endpoint.h@69,15: declaration of 'ESP8266* Endpoint::ESP8266' [-fpermissive]
[Error] ESP8266.h@41,7: changes meaning of 'ESP8266' from 'class ESP8266' [-fpermissive]
[ERROR] In file included from ./ESP8266Interface/ESP8266Interface.h:24:0,
from ./ESP8266Interface/ESP8266Interface.cpp:1:
./ESP8266Interface/Socket/Endpoint.h:69:15: error: declaration of 'ESP8266* Endpoint::ESP8266' [-fpermissive]
ESP8266 * ESP8266;
^
In file included from ./ESP8266Interface/ESP8266Interface.h:23:0,
from ./ESP8266Interface/ESP8266Interface.cpp:1:
./ESP8266Interface/ESP8266/ESP8266.h:41:7: error: changes meaning of 'ESP8266' from 'class ESP8266' [-fpermissive]
class ESP8266
^
[mbed] ERROR: "python" returned error code 1.
[mbed] ERROR: Command "python -u /Mbed/ESP8266_MQTT_HelloWorld/.temp/tools/make.py -t GCC_ARM -m NUCLEO_L073RZ --source . --build ./.build/NUCLEO_L073RZ/GCC_ARM" in "/Mbed/ESP8266_MQTT_HelloWorld"
As ESP8266 is very famous, I am keen to try to use it. Appreciate anyone's help in this matter. Thank you.
I am trying to use NUCLEO F302R8 with ESP8266. I am unable to compile the ESP8266 Interface library provided by ESP8266 team on my Mac using GCC ARM compiler. The GCC ARM compiler is the same one that was provided together with the mbed-cli installation. Nevertheless, I am able to compile my code alongside the library on the online compiler.
What are the differences between ARMCC and GCC ARM for developers like me? And how can I ensure that the code compiled by ARMCC can also be compiled by GCC ARM? Where should I look into?