Harvester 0 24 февраля, 2016 Опубликовано 24 февраля, 2016 (изменено) · Жалоба Добрый день. Пытаюсь собрать пример для GCC в Ubuntu 14. В процессе возникает ошибка: --- linking... /usr/lib/gcc/arm-none-eabi/4.8.2/../../../arm-none-eabi/bin/ld: cannot find -lstdc++ Как я понимаю, линкер не может найти библиотеку stdc++. Где она может находиться и как указать правильный путь к ней? Конечно, это вопрос больше относится к работе в linux, нежели собственно к scmRTOS, но все же надеюсь на помощь :laughing: Изменено 24 февраля, 2016 пользователем Harvester Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 14 25 февраля, 2016 Опубликовано 25 февраля, 2016 · Жалоба Где брали примеры? Какой конкретно из примеров вы пытаетесь собрать? Вносили ли вы изменения в makefile? (Я под линуксом работаю, и проверяю в первую очередь именно в нём). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 25 февраля, 2016 Опубликовано 25 февраля, 2016 · Жалоба Где брали примеры? Какой конкретно из примеров вы пытаетесь собрать? Вносили ли вы изменения в makefile? (Я под линуксом работаю, и проверяю в первую очередь именно в нём). Архив scmRTOS.4.00.all-platform.rar из scmRTOS Примеры: любой для STM32F1XX под GCC. Ничего не менял - просто распаковал папку. P.S. В Eclipse под Windows тоже не собирается, но это разговор для другой ветки Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 14 25 февраля, 2016 Опубликовано 25 февраля, 2016 · Жалоба Хм. Проверил - собирается: ~/tmp/scmrtos4/STM32F1XX/1-EventFlag $ make --- building 1-EventFlag --- compiling ./src/main.cpp... --- compiling ../SamplesCommon/sysinit.cpp... --- compiling ../scmRTOS/Common/OS_Kernel.cpp... --- compiling ../scmRTOS/Common/OS_Services.cpp... --- compiling ../scmRTOS/Common/usrlib.cpp... --- compiling ../scmRTOS/CortexM3/OS_Target_cpp.cpp... --- compiling ../SamplesCommon/startup.c... --- assembling ../scmRTOS/CortexM3/OS_Target_asm.S... --- linking... --- make binary... --- making asm-lst... text data bss dec hex filename 1736 0 1672 3408 d50 ./exe/1-EventFlag.elf Errors: none А что у вас за тулчейн? Откуда взяли и как ставили? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 25 февраля, 2016 Опубликовано 25 февраля, 2016 (изменено) · Жалоба Хм. Проверил - собирается: ... А что у вас за тулчейн? Откуда взяли и как ставили? Мне дали VMware-образ Ubuntu, в котором все уже вроде как настроено (основной проект, с которым мне предстоит работать, собирается). Тулчейн ARM GCC 4.8.2 (arm-none-eabi-...) в папке /usr/bin/ Я попробовал сам поставить более новый (gcc-arm-none-eabi-5_2-2015q4-20151219-linux.tar.bz2) по инструкции с http://gnuarmeclipse.github.io/toolchain/install/. Но с этим возникла другая непонятная мне проблема: Даже если перейти в папку, где установлены утилиты тулчейна, то все равно запускаются ранее установленные утилиты из /usr/bin/. canis@CanisUbntVM:/usr/local/gcc-arm-none-eabi-5_2-2015q4/bin$ arm-none-eabi-g++ --version arm-none-eabi-g++ (4.8.2-14ubuntu1+6) 4.8.2 , а если запускать их из папки проекта через полный путь, то командный процессор их не видит canis@CanisUbntVM:~/scm/1-EventFlag$ /usr/local/gcc-arm-none-eabi-5_2-2015q4/bin/arm-none-eabi-g++ --version bash: /usr/local/gcc-arm-none-eabi-5_2-2015q4/bin/arm-none-eabi-g++: No such file or directory Изменено 25 февраля, 2016 пользователем Harvester Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 14 25 февраля, 2016 Опубликовано 25 февраля, 2016 · Жалоба Тут, к сожалению, не подскажу - не сталкивался с таким. Видимо, какие-то ограничения. Попробуйте установить в /opt. И ещё, забыл написать сразу - 4.0 - уже довольно давняя версия, сейчас актуальна версия 5.0. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 25 февраля, 2016 Опубликовано 25 февраля, 2016 (изменено) · Жалоба Тут, к сожалению, не подскажу - не сталкивался с таким. Видимо, какие-то ограничения. Попробуйте установить в /opt. И ещё, забыл написать сразу - 4.0 - уже довольно давняя версия, сейчас актуальна версия 5.0. Если не сложно, опишите, как у Вас настроена рабочая среда. Спасибо Update: Текущий тулчейн был установлен через центр ПО Ubuntu. Удалил его и поставил 4.9 с launchpad через PPA. Он встал тоже в /usr/bin/. Теперь примеры scmRTOS собираются, а вот мой старый проект не компилируется. Неужели в linux нельзя одновременно поставить две версии тулчейна? Изменено 25 февраля, 2016 пользователем Harvester Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 14 25 февраля, 2016 Опубликовано 25 февраля, 2016 · Жалоба Если не сложно, опишите, как у Вас настроена рабочая среда. Спасибо Я скачал архив с https://launchpad.net/gcc-arm-embedded, распаковал его в /opt, и добавил его /bin в PATH. Текущий тулчейн был установлен через центр ПО Ubuntu. Удалил его и поставил 4.9 с launchpad через PPA. Он встал тоже в /usr/bin/. Теперь примеры scmRTOS собираются, а вот мой старый проект не компилируется. Неужели в linux нельзя одновременно поставить две версии тулчейна? Скорее всего, тот тулчейн, который был у вас установлен в образе виртуалки, был каким-то образом специально допилен. От этого и все проблемы. А насчёт нескольких тулчейнов - пожалуйста, ставьте, просто не добавляйте их в PATH, и указывайте полный путь при запуске. (По вашей ссылке как раз про такой способ написано). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Harvester 0 25 февраля, 2016 Опубликовано 25 февраля, 2016 (изменено) · Жалоба Разобрался, в чем было дело! Тулчейн 32-битный, а система 64-битная. Поставил 32-битные библиотеки и все заработало dpkg --add-architecture i386 apt-get update apt-get install libc6:i386 zlib1g:i386 Теперь осталось с Eclips-ом разобраться Изменено 25 февраля, 2016 пользователем Harvester Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться