SpacehuhnTech / SimpleCLI

Command Line Interface Library for Arduino
MIT License
299 stars 49 forks source link

Redefinition of cmd_reset with Ardino core on platformio #20

Open alvinccli opened 2 years ago

alvinccli commented 2 years ago

I am programming a Portenta H7 Lite on platformio where I have to include in main.

I get the following compilation error even with a blank script, as long as I include .

============================================= compilation error

C:\Users\taylo.platformio\packages\framework-arduino-mbed\variants\PORTENTA_H7_M7\libs\libmbed.a(ns_cmdline.o): In function cmd_reset': ns_cmdline.c:(.text.cmd_reset+0x0): multiple definition ofcmd_reset' .pio\build\portenta_h7_m7\lib317\libSimpleCLI.a(cmd.c.o):C:\Users\taylo\Documents\Alvin\Local repo\3DHL-Arduino-Firmware/.pio\libdeps\portenta_h7_m7\SimpleCLI\src\c/cmd.c:167: first defined here
collect2.exe: error: ld returned 1 exit status *** [.pio\build\portenta_h7_m7\firmware.elf] Error 1

Apparently that there is a name clash of a function name "cmd_reset" with something in the Arduino core?

I then manually searched for all instances of the symbol "cmd_reset" in the SimpleCLI library and changed them to "cmd_reset_4_cli" and it complies successfully. Currently the program uploaded to the board is functioning (almost) flawlessly. Extremely well thought-out library.

strud commented 2 years ago

I have the same issue, after renaming compilation is fine.

Further note: I have not seen this when using the library with ESP32 and Teensy4.1 projects, only now that I am building a RaspberryPi Pico project.... a little odd.

spacehuhn commented 2 years ago

Hi, just updated the code and made a new release. I hope this fixes the issue :) Thanks for reporting and being so patient!