Wemos D1 Mini - Build error: ld returned 1 exit status

Hello,
Im now try platformio with visual studio code. I use a wemos d1 mini board. Use rtos.

My code is (in main.cpp):

#include "esp_common.h"

#include "freertos/task.h"

#include "gpio.h"

void setup() {

}

void loop() {

}

Any idea?

Regards

Full error message and platformio.ini?

Hi maxgerhardt, thanks for your reply.
platformio.ini is
[env:d1_mini]

platform = espressif8266

board = d1_mini

framework = esp8266-rtos-sdk

monitor_speed=115200

Full error message:

Processing d1_mini (platform: espressif8266; board: d1_mini; framework: esp8266-rtos-sdk)
------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/d1_mini.html
PLATFORM: Espressif 8266 > WeMos D1 R2 and mini
HARDWARE: ESP8266 80MHz 80KB RAM (4MB Flash)
Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF MODES: FINDER(chain) COMPATIBILITY(soft)
Collected 0 compatible libraries
Scanning dependencies...
No dependencies
Linking .pioenvs\d1_mini\firmware.elf
C:\Users\info\.platformio\packages\framework-esp8266-rtos-sdk\lib\libmain.a(app_main.o): In function `uart_rx_one_char':
(.irom0.text+0x3e4): undefined reference to `user_init'
C:\Users\info\.platformio\packages\framework-esp8266-rtos-sdk\lib\libmain.a(app_main.o): In function `uart_rx_one_char':
(.irom0.text+0x3fb): undefined reference to `user_init'
C:\Users\info\.platformio\packages\framework-esp8266-rtos-sdk\lib\libmain.a(app_main.o): In function `flash_data_check':
(.irom0.text+0x57c): undefined reference to `user_rf_cal_sector_set'
C:\Users\info\.platformio\packages\framework-esp8266-rtos-sdk\lib\libmain.a(app_main.o): In function `flash_data_check':
(.irom0.text+0x6d0): undefined reference to `user_rf_cal_sector_set'
collect2.exe: error: ld returned 1 exit status
*** [.pioenvs\d1_mini\firmware.elf] Error 1
======================================================= [ERROR] Took 2.43 seconds =======================================================
The terminal process terminated with exit code: 1

Thanks!

You’re writing for the ESP8266 RTOS SDK, not Arduino. So your files have to be .c and you to have a function user_init() and user_rf_cal_sector_set(). See the example at platform-espressif8266/examples/esp8266-rtos-sdk-blink at develop · platformio/platform-espressif8266 · GitHub.

Perfect, now build correctly
But now cant work Serial.begin, Serial.print, etc. Also, is available software serial library for this sdk?
Regards

Probably need to look at some of the examples from the ESP8266_RTOS_SDK since you’re still thinking about Arduino-land stuff :wink: i.e. the uart_echo example should give you enough ideas on what to do for serial output… i.e. it looks like you use uart_param_config(), uart_driver_install() to set up the UART and uart_write_bytes() to write to it.