Вот что нашел (перевод с китайского). Ошибка "хидеров-бинарников"
лечится. А вот скрипту линкера в строке 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. Давайте временно бесполезны.