Как установить кросс-компилятор в Ubuntu 18.04?

Linux не "фиксирует изменения" в файле, если только вы не используете систему контроля версий (VCS), такую как Git или Fossil. У него есть так называемые "грязные буферы" - файлы, которые были изменены без записи изменений на диск. Цель этих грязных буферов - ускорить работу; они не предназначены для того, чтобы можно было удалить файлы.

Если вы только что удалили файл, возможно (а может и нет), что можно вытащить USB-накопитель без размонтирования файловой системы и сохранить удаленный файл.

То, что вы ищете, это то, чего обычно нет в Linux, называется "файловая система версий" или "файловая система снимков", где хранятся старые версии всех файлов, которые можно восстановить в случае случайного удаления или перезаписи файла. FAT32, конечно, тоже не является версионной файловой системой. (Вопрос для других здесь: Кто-нибудь когда-нибудь успешно использовал файловую систему Tux3?)

Другое решение - использовать VCS, например Git, и просто проверить более раннюю версию удаленного или перезаписанного файла (только не забудьте добавить файл в базу данных VCS и зафиксировать любую версию, о которой вы хотите сохранить запись).

Я использовал git-деревья в Windows (OK, Cygwin) без проблем, и я не думаю, что Git'у нужны какие-либо расширенные атрибуты, отсутствующие в FAT32.

6
02.04.2019, 12:50
2 ответа

TLDR

нужно звонить arm-linux-gnueabi-gccа не arm-linux-gcc.


Похоже, у вас неправильное имя файла. Для справки apt-fileявляется полезным инструментом.

sudo apt-get install apt-file
sudo apt-file update
apt-file search -x 'gcc$' | grep 'gcc-arm-linux-gnueabi'

Ищет любой файл с окончанием gccв любом пакете с gcc-arm-linux-gnueabiв имени. Результат:

gcc-arm-linux-gnueabi: /usr/bin/arm-linux-gnueabi-gcc

Итак, если вы установили gcc-arm-linux-gnueabi, у вас должен быть файл /usr/bin/arm-linux-gnueabi-gcc.

18
27.01.2020, 20:20

Как предполагает steeldriver , у вас уже установлен кросс-компилятор -; проблема в том, что вы используете неправильную команду для ее вызова, вам нужно использовать префикс arm-linux-gnueabi-в целом. Так что беги

arm-linux-gnueabi-gcc

или

arm-linux-gnueabi-g++

и все должно работать нормально.

Чтобы разобраться в этом самостоятельно, вы можете использовать dpkg -Lдля вывода списка содержимого пакетов, которые вы установили:

dpkg -L gcc-arm-linux-gnueabi
10
27.01.2020, 20:20

Теги

Похожие вопросы