ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
4 мая
1084740 Топик полностью
Гyдвин, волшебник (09.03.2021 16:51, просмотров: 353) ответил Гyдвин на Linux сЁкари, help please! По ссылке SDK.
Вот что нашел (перевод с китайского). Ошибка "хидеров-бинарников" лечится. А вот скрипту линкера в строке 46 таблэтка не помогает. 
Продолжая предыдущую статью, после того, как среда сервера кода Ubuntu настроена, следующий набор кода eCos готов к компиляции.



Загрузите код [svn co http: // xxxxx –username xxx], войдите в каталог компиляции для компиляции [make], появится сообщение об ошибке

«Ecosconfig: ошибка при загрузке разделяемых библиотек: libstdc ++. So.5: невозможно открыть файл общих объектов: нет такого файла или каталога»

Обнаружил, что нет libstdc ++. So.5;

Причина в том, что после версии gcc 3.4 libstdc ++. So.5 больше не используется, а вместо нее используется libstdc ++. So.6. Вы можете проверить версию gcc с помощью [gcc -v];

Просто скачайте libstdc ++. So.5 и поместите его в каталог «usr / lib / i386-linux-gnu /»;



Продолжайте компиляцию, и выдается сообщение об ошибке «dos2unix: Command not found» и отсутствует команда dos2unix;

Существует много разных версий этой команды, но нам нужно использовать версию с параметром -U, а для установки нужно загрузить «dos2UNIX hd2u-1.0.0»;

После распаковки войдите в папку, выполните команду [./config] и сообщите об ошибке «configure: error: * libpopt not found»;

Я проверил его и сказал, что он загружает "popt-1.14-2rt.x86_64.rpm". Я попробовал, но ничего не вышло. Может быть, потому, что это 64-разрядная версия, но мой ubuntu 32-разрядный;

После установки libpopt напрямую [apt install libpopt-dev] строка установки кажется занятой. После перезапуска ubuntu установка прошла успешно, затем перейдите в папку dos2unix и выполните команду [./config] [make] [make install], установка dos2unix прошла успешно;

Ссылка следующая:

http://blog.csdn.net/w616589292/article/details/38274475

Эта статья предназначена для установки "popt-1.14-2rt.x86_64.rpm". Я не понял это правильно. Это может быть проблема окружающей среды. Есть еще одна статья, которую я использовал для ее решения, но я не могу Найди это...



Продолжить компиляцию и сообщить об ошибке

«Ошибка: mcu / mt7628_firmware.h: нет такого файла или каталога ...»

«Ошибка: mcu / mt7628_e2_firmware.h: нет такого файла или каталога»

Это реализация strncmp, о которой я сказал в предыдущей статье, отличается, измените файл

[Vim ra305x_drivers / Jedi_7628 / embedded / tools / bin2h.c]

«(Strncmp (набор микросхем,« mt7628 », 7)» заменяется на «(strncmp (набор микросхем,« mt7628 », 6)»;

Наш босс считает это рискованным, поэтому я перестраиваю среду. Это связано с тем, что функция strncmp в версии ubuntu 16 уже относительно новая. Невозможно использовать версию Ubuntu 14 для восстановления среды. Обратите внимание на обновление URL. [Apt-get update] Не выполнять [apt-get upgrade].



Продолжить компиляцию и сообщить об ошибке

«Mipsisa32-elf / bin / ld: target.ld: 46: синтаксическая ошибка»

Эта проблема застряла у меня надолго. Наконец, я посоветовался с нашим боссом и дал мне решение. Это проблема оболочки. По умолчанию используется тире, которое можно изменить на bash. [Dpkg-reconfigure dash], выберите NO.

Оболочка Ubuntu по умолчанию устанавливает dash, а не bash.

Выполните следующую команду, чтобы просмотреть подробную информацию о sh и подтвердить, какая программа соответствует оболочке:  ls -al /bin/sh

Если это тире, его нужно изменить на bash; есть много методов, если один из них не работает, попробуйте другие методы. Вот 4 метода, которые я нашел:

1. Выполните «sudo dpkg-reconfigure dash», выберите «Нет» или «Нет» и подтвердите. Самый распространенный метод не работает, когда я впервые использую его, всегда нет выбора, и затем его можно использовать снова после переустановки ubuntu;

2. Измените файл ссылки / bin / sh напрямую и назначьте его / bin / bash: [sudo ln -fs / bin / bash / bin / sh];

3. Укажите оболочку, используемую непосредственно в файле сценария, вместо указания sh:

Например, используйте #! / Bin / bash или #! / Bin / dash вместо #! / Bin / sh. Но это приведет к потере универсальности сценария, что сделает невозможным выполнение в системе, не имеющей указанного сценария.

Не рекомендуется использовать этот метод;

4. Используйте chsh, введите / bin / bash после приглашения, чтобы он был заменен на bash.



Скомпилируйте снова, ОК, ошибок нет.



Ну, еще один момент - проблема системного времени. Кажется, что после установки ubuntu время по умолчанию не будет автоматически получать соответствующее время. При компиляции системное время будет отображаться неправильно. Проверьте текущую дату через [дата]. [ Дата -s ММ / ДД / ГГ] [дата -s чч: мм] изменить дату



Код eCos не требует установки каких-либо цепочек инструментов. Я установил несколько цепочек инструментов в соответствии с официальными документами MTK. Спустя долгое время в них нет необходимости. Эти цепочки инструментов нужны только для компиляции программного обеспечения Linux. Давайте временно бесполезны.