"undefined reference to SD" с библиотекой SdFat

есть ли какой-нибудь способ переименовать файл на SD-карте без использования SdFat? Спасибо , я получаю сообщение об ошибке при включении

    #include <SPI.h>
    //#include <SD.h>
    #include <SdFat.h>
    extern SdFat SD;

сообщение об ошибке было "Ошибка компиляции для платы Arduino / Genuino Uno. "

Local\Temp\ccZn9IeW.ltrans2.ltrans.o: In function FatVolume::init(unsigned char) [clone .constprop.18]': \Arduino\libraries\SdFat\src/FatLib/FatVolume.cpp:439: undefined reference to SD' \Arduino\libraries\SdFat\src/FatLib/FatVolume.cpp:440: undefined reference to `SD'

, 👍-1

Обсуждение

Похоже, вы неправильно добавили эту библиотеку. Пожалуйста, предоставьте дополнительную информацию: ваша IDE, ваша плата, ваши настройки и структура папок вашей библиотеки SdFat., @Faig

Стандартная библиотека arduino sd не может переименовать файл. Библиотека sdfat может переименовывать файл. Если вы хотите переименовать файл, то вам необходимо использовать библиотеку sdfat., @Jot


1 ответ


1

Удалите ключевое слово extern из SdFat SD; потому что оно сообщает компилятору, что переменная определена в другом месте, а это не так, и компоновщик тогда не может ее найти.

,