Precompiled library. ld.exe: cannot find -lArduinoSTL

Hi,

I built ArduinoSTL.a following this guide

It is in the required place

However, the linker says it cannot find it.

Any suggestions ?
Thanks
Frank

Short output:

"-LC:\\Users\\frank\\Documents\\Arduino\\libraries\\ArduinoSTL\\src\\atmega2560" -lArduinoSTL.a
"C:\\Users\\frank\\AppData\\Local\\Temp\\arduino\\sketches\\0821F852AEE1FA583CAA77FFA4911665/..\\..\\cores\\arduino_avr_mega_cpu_atmega2560_b12ac5ea7fa3822653ed1b6d8c1fe256\\core.a"
"-LC:\\Users\\frank\\AppData\\Local\\Temp\\arduino\\sketches\\0821F852AEE1FA583CAA77FFA4911665" -lm

c:/users/frank/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/bin/ld.exe: cannot find -lArduinoSTL.a
collect2.exe: error: ld returned 1 exit status

Using library ArduinoSTL at version 1.3.3 in folder: C:\Users\frank\Documents\Arduino\libraries\ArduinoSTL 
exit status 1

Complete output


FQBN: arduino:avr:mega
Using board 'mega' from platform in folder: C:\Users\frank\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6
Using core 'arduino' from platform in folder: C:\Users\frank\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6

Detecting libraries used...
C:\Users\frank\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -IC:\Users\frank\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\frank\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\mega C:\Users\frank\AppData\Local\Temp\arduino\sketches\0821F852AEE1FA583CAA77FFA4911665\sketch\STLAsLib.ino.cpp -o nul
Alternatives for ArduinoSTL.h: [ArduinoSTL@1.3.3]
ResolveLibrary(ArduinoSTL.h)
  -> candidates: [ArduinoSTL@1.3.3]
C:\Users\frank\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -IC:\Users\frank\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\frank\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\mega -IC:\Users\frank\Documents\Arduino\libraries\ArduinoSTL\src C:\Users\frank\AppData\Local\Temp\arduino\sketches\0821F852AEE1FA583CAA77FFA4911665\sketch\STLAsLib.ino.cpp -o nul
C:\Users\frank\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -IC:\Users\frank\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\frank\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\mega -IC:\Users\frank\Documents\Arduino\libraries\ArduinoSTL\src C:\Users\frank\Documents\Arduino\libraries\ArduinoSTL\src\abi\abi.cpp -o nul
Generating function prototypes...
C:\Users\frank\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -IC:\Users\frank\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\frank\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\variants\mega -IC:\Users\frank\Documents\Arduino\libraries\ArduinoSTL\src C:\Users\frank\AppData\Local\Temp\arduino\sketches\0821F852AEE1FA583CAA77FFA4911665\sketch\STLAsLib.ino.cpp -o C:\Users\frank\AppData\Local\Temp\3263255864\sketch_merged.cpp
C:\Users\frank\AppData\Local\Arduino15\packages\builtin\tools\ctags\5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives C:\Users\frank\AppData\Local\Temp\3263255864\sketch_merged.cpp
Compiling sketch...
"C:\\Users\\frank\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\\Users\\frank\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\frank\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\mega" "-IC:\\Users\\frank\\Documents\\Arduino\\libraries\\ArduinoSTL\\src" "C:\\Users\\frank\\AppData\\Local\\Temp\\arduino\\sketches\\0821F852AEE1FA583CAA77FFA4911665\\sketch\\STLAsLib.ino.cpp" -o "C:\\Users\\frank\\AppData\\Local\\Temp\\arduino\\sketches\\0821F852AEE1FA583CAA77FFA4911665\\sketch\\STLAsLib.ino.cpp.o"
Compiling libraries...
Compiling library "ArduinoSTL"
Library ArduinoSTL has been declared precompiled:
Using precompiled library in C:\Users\frank\Documents\Arduino\libraries\ArduinoSTL\src\atmega2560
"C:\\Users\\frank\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\\Users\\frank\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\frank\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\variants\\mega" "-IC:\\Users\\frank\\Documents\\Arduino\\libraries\\ArduinoSTL\\src" "C:\\Users\\frank\\Documents\\Arduino\\libraries\\ArduinoSTL\\src\\abi\\abi.cpp" -o "C:\\Users\\frank\\AppData\\Local\\Temp\\arduino\\sketches\\0821F852AEE1FA583CAA77FFA4911665\\libraries\\ArduinoSTL\\abi\\abi.cpp.o"
Compiling core...
Using precompiled core: C:\Users\frank\AppData\Local\Temp\arduino\cores\arduino_avr_mega_cpu_atmega2560_b12ac5ea7fa3822653ed1b6d8c1fe256\core.a
Linking everything together...
"C:\\Users\\frank\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega2560 -o "C:\\Users\\frank\\AppData\\Local\\Temp\\arduino\\sketches\\0821F852AEE1FA583CAA77FFA4911665/STLAsLib.ino.elf" "C:\\Users\\frank\\AppData\\Local\\Temp\\arduino\\sketches\\0821F852AEE1FA583CAA77FFA4911665\\sketch\\STLAsLib.ino.cpp.o" "C:\\Users\\frank\\Documents\\Arduino\\libraries\\ArduinoSTL\\src\\atmega2560\\ArduinoSTL.a" "C:\\Users\\frank\\AppData\\Local\\Temp\\arduino\\sketches\\0821F852AEE1FA583CAA77FFA4911665\\libraries\\ArduinoSTL\\abi\\abi.cpp.o" "-LC:\\Users\\frank\\Documents\\Arduino\\libraries\\ArduinoSTL\\src\\atmega2560" -lArduinoSTL.a "C:\\Users\\frank\\AppData\\Local\\Temp\\arduino\\sketches\\0821F852AEE1FA583CAA77FFA4911665/..\\..\\cores\\arduino_avr_mega_cpu_atmega2560_b12ac5ea7fa3822653ed1b6d8c1fe256\\core.a" "-LC:\\Users\\frank\\AppData\\Local\\Temp\\arduino\\sketches\\0821F852AEE1FA583CAA77FFA4911665" -lm
c:/users/frank/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/bin/ld.exe: cannot find -lArduinoSTL.a
collect2.exe: error: ld returned 1 exit status

Using library ArduinoSTL at version 1.3.3 in folder: C:\Users\frank\Documents\Arduino\libraries\ArduinoSTL 
exit status 1

Compilation error: exit status 1

Hi @frank_11. You missed this step in the tutorial:

https://wiki.seeedstudio.com/Software-Static-Library/#:~:text=cortex-m4.-,Rename%20the%20.a%20file,-%2C%20appending%20"lib"%20to

Rename the .a file, appending "lib" to the start of the name. In my case, it becomes libSeeed_Arduino_LIS3DHTR.a .

Rename the ArduinoSTL.a file to libArduinoSTL.a and then try compiling your sketch again. Hopefully it will work as expected this time.

1 Like

Of course I did. Works like a charm now. Thank you !

You are welcome. I'm glad it is working now.

Regards,
Per

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.