Hello
its my first post, i am having problem when compiling a project for wemos D-1 (esp8266). that the compiler is using some incompatible dependencies when linking and compiling the project with a presence of a freertos library (not included in the project at all; just installed)
so when i installed the arduino freeRTOS library, or STM32duino_FreeRTOS library, they work great with each target they are designed for, but when i compile irrelative project for and esp8266, the system detects dependencies of freeRTOS libraries and try to compile them with the project and give as a normal result a pile of errors, i need to remove the libraries from platformIO each time i want to compile …any idea hot prevent such incompatible dependencies ? thank you in advance
[env:nodemcuv2]
platform = espressif8266
board = d1
upload_protocol = espota
upload_port = 192.168.1.49
upload_flags =
--port=8266
framework = arduino
upload_speed = 512000
monitor_speed = 115200
debug log :
Processing nodemcuv2 (platform: espressif8266; board: d1; framework: arduino)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/d1.html
PLATFORM: Espressif 8266 2.4.0 > WEMOS D1 R1
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
PACKAGES:
- framework-arduinoespressif8266 3.20603.200130 (2.6.3)
- tool-esptool 1.413.0 (4.13)
- tool-esptoolpy 1.20800.0 (2.8.0)
- tool-mkspiffs 1.200.0 (2.0)
- toolchain-xtensa 2.40802.200502 (4.8.2)
LDF: Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 73 compatible libraries
Scanning dependencies...
Dependency Graph
|-- "<"Adafruit Unified Sensor> 1.1.2
| |-- "<"Adafruit ADXL343> 1.3.0
| | |-- "<"Adafruit BusIO> 1.2.3
| | | |-- "<"SPI> 1.0
| | | |-- "<"Wire> 1.0
| | |-- '<'Wire> 1.0
|-- '<'DHT sensor library> 1.3.9
| |-- '<'Adafruit Unified Sensor> 1.1.2
| | |-- '<'Adafruit ADXL343> 1.3.0
| | | |--' <'Adafruit BusIO> 1.2.3
| | | | |-- '<'SPI> 1.0
| | | | |-- '<'Wire> 1.0
| | | |-- '<'Wire> 1.0
|-- '<'IRremoteESP8266> 2.7.6
|-- '<'ArduinoOTA> 1.0
| |-- '<'ESP8266WiFi> 1.0
| | |-- '<'FreeRTOS> 10.3.0-9
| |-- '<'ESP8266mDNS> 1.2
| | |-- '<'ESP8266WiFi> 1.0
| | | |-- '<'FreeRTOS> 10.3.0-9
|-- '<'EEPROM> 1.0
|-- '<'ESP8266HTTPClient> 1.2
| |-- '<'ESP8266WiFi> 1.0
| | |-- '<'FreeRTOS> 10.3.0-9
|-- '<'ESP8266WebServer> 1.0
| |-- '<'ESP8266WiFi> 1.0
| | |-- '<'FreeRTOS> 10.3.0-9
|-- '<'ESP8266WiFi> 1.0
| |-- '<'FreeRTOS> 10.3.0-9
|-- '<'NTPClient> 3.1.0
|-- '<'SPI> 1.0
|-- '<'Time> 1.6
|-- '<'Timezone> 1.2.4
| |-- '<'Time> 1.6
|-- '<'Wire> 1.0
|-- '<'WS2812FX> 1.2.3
| |-- '<'Adafruit NeoPixel> 1.3.5
| | |-- '<'Time> 1.6
Building in release mode
Compiling .pio\build\nodemcuv2\src\index.html.cpp.o
Compiling .pio\build\nodemcuv2\src\main.cpp.o
Compiling .pio\build\nodemcuv2\src\main.js.cpp.o
Generating LD script .pio\build\nodemcuv2\ld\local.eagle.app.v6.common.ld
Compiling .pio\build\nodemcuv2\lib311\SPI\SPI.cpp.o
Compiling .pio\build\nodemcuv2\lib7e1\Wire\Wire.cpp.o
Compiling .pio\build\nodemcuv2\libbfb\Adafruit BusIO_ID6214\Adafruit_BusIO_Register.cpp.o
Compiling .pio\build\nodemcuv2\libbfb\Adafruit BusIO_ID6214\Adafruit_I2CDevice.cpp.o
Compiling .pio\build\nodemcuv2\libbfb\Adafruit BusIO_ID6214\Adafruit_SPIDevice.cpp.o
In file included from D:\PlatformIO\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src/ESP8266WiFiType.h:26:0,
from D:\PlatformIO\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src/ESP8266WiFi.h:33,
from src\main.cpp:2:
D:\PlatformIO\lib\FreeRTOS_ID507\src/queue.h:33:6: error: #error "include Arduino_FreeRTOS.h" must appear in source files before "include queue.h"
#error "include Arduino_FreeRTOS.h" must appear in source files before "include queue.h"
^
In file included from D:\PlatformIO\lib\FreeRTOS_ID507\src/queue.h:40:0,
from D:\PlatformIO\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src/ESP8266WiFiType.h:26,
from D:\PlatformIO\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src/ESP8266WiFi.h:33,
from src\main.cpp:2:
Compiling .pio\build\nodemcuv2\libba1\Adafruit ADXL343_ID6117\Adafruit_ADXL343.cpp.o
Compiling .pio\build\nodemcuv2\lib40e\Adafruit Unified Sensor_ID31\Adafruit_Sensor.cpp.o
D:\PlatformIO\lib\FreeRTOS_ID507\src/task.h:33:6: error: #error "include Arduino_FreeRTOS.h must appear in source files before include task.h"
#error "include Arduino_FreeRTOS.h must appear in source files before include task.h"
^
In file included from D:\PlatformIO\lib\FreeRTOS_ID507\src/task.h:36:0,
from D:\PlatformIO\lib\FreeRTOS_ID507\src/queue.h:40,
from D:\PlatformIO\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src/ESP8266WiFiType.h:26,
from D:\PlatformIO\packages\framework-arduinoespressif8266\libraries\ESP8266WiFi\src/ESP8266WiFi.h:33,
from src\main.cpp:2:
D:\PlatformIO\lib\FreeRTOS_ID507\src/list.h:57:6: error: #error Arduino_FreeRTOS.h must be included before list.h
#error Arduino_FreeRTOS.h must be included before list.h
.etc