Adafruit_ILI0341 and Adafruit_SPIFlash libraries seem to have some incompatibility issue for the board Adafruit nrf52840 express when compiling with Arduino IDE on mac.
Code to reproduce the problem (using most recent versions of both libraries):
#include <Adafruit_ILI9341.h>
#include <Adafruit_SPIFlash.h>
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
Error msgs:
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::Adafruit_SPIDevice(signed char, unsigned long, BitOrder, unsigned char, SPIClass*)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:17: multiple definition of
Adafruit_SPIDevice::Adafruit_SPIDevice(signed char, unsigned long, BitOrder, unsigned char, SPIClass*)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:17: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::Adafruit_SPIDevice(signed char, unsigned long, BitOrder, unsigned char, SPIClass*)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:17: multiple definition of
Adafruit_SPIDevice::Adafruit_SPIDevice(signed char, unsigned long, BitOrder, unsigned char, SPIClass*)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:17: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::Adafruit_SPIDevice(signed char, signed char, signed char, signed char, unsigned long, BitOrder, unsigned char)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:43: multiple definition of
Adafruit_SPIDevice::Adafruit_SPIDevice(signed char, signed char, signed char, signed char, unsigned long, BitOrder, unsigned char)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:43: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::Adafruit_SPIDevice(signed char, signed char, signed char, signed char, unsigned long, BitOrder, unsigned char)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:43: multiple definition of
Adafruit_SPIDevice::Adafruit_SPIDevice(signed char, signed char, signed char, signed char, unsigned long, BitOrder, unsigned char)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:43: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::~Adafruit_SPIDevice()': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:78: multiple definition of
Adafruit_SPIDevice::~Adafruit_SPIDevice()'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:78: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::~Adafruit_SPIDevice()': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:78: multiple definition of
Adafruit_SPIDevice::~Adafruit_SPIDevice()'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:78: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::begin()': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:85: multiple definition of
Adafruit_SPIDevice::begin()'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:85: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::transfer(unsigned char*, unsigned int)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:123: multiple definition of
Adafruit_SPIDevice::transfer(unsigned char*, unsigned int)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:123: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::transfer(unsigned char)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:260: multiple definition of
Adafruit_SPIDevice::transfer(unsigned char)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:260: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::beginTransaction()': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:271: multiple definition of
Adafruit_SPIDevice::beginTransaction()'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:271: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::endTransaction()': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:280: multiple definition of
Adafruit_SPIDevice::endTransaction()'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:280: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::setChipSelect(int)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:290: multiple definition of
Adafruit_SPIDevice::setChipSelect(int)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:290: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::beginTransactionWithAssertingCS()': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:301: multiple definition of
Adafruit_SPIDevice::beginTransactionWithAssertingCS()'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:301: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::endTransactionWithDeassertingCS()': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:310: multiple definition of
Adafruit_SPIDevice::endTransactionWithDeassertingCS()'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:310: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::write(unsigned char const*, unsigned int, unsigned char const*, unsigned int)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:328: multiple definition of
Adafruit_SPIDevice::write(unsigned char const*, unsigned int, unsigned char const*, unsigned int)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:328: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::read(unsigned char*, unsigned int, unsigned char)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:385: multiple definition of
Adafruit_SPIDevice::read(unsigned char*, unsigned int, unsigned char)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:385: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::write_then_read(unsigned char const*, unsigned int, unsigned char*, unsigned int, unsigned char)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:423: multiple definition of
Adafruit_SPIDevice::write_then_read(unsigned char const*, unsigned int, unsigned char*, unsigned int, unsigned char)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:423: first defined here
/Users/antti/Library/Arduino15/packages/adafruit/tools/arm-none-eabi-gcc/9-2019q4/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp.o: in function Adafruit_SPIDevice::write_and_read(unsigned char*, unsigned int)': /Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice.cpp:485: multiple definition of
Adafruit_SPIDevice::write_and_read(unsigned char*, unsigned int)'; libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp.o:/Users/antti/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_SPIDevice 2.cpp:485: first defined here
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board Adafruit Feather nRF52840 Express.