реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Не собирается пример под GCC
Harvester
сообщение Feb 24 2016, 19:51
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Добрый день.
Пытаюсь собрать пример для 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.gif

Сообщение отредактировал Harvester - Feb 24 2016, 21:22


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 25 2016, 06:01
Сообщение #2


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Где брали примеры? Какой конкретно из примеров вы пытаетесь собрать? Вносили ли вы изменения в makefile?
(Я под линуксом работаю, и проверяю в первую очередь именно в нём).


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Harvester
сообщение Feb 25 2016, 06:28
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Цитата(AHTOXA @ Feb 25 2016, 09:01) *
Где брали примеры? Какой конкретно из примеров вы пытаетесь собрать? Вносили ли вы изменения в makefile?
(Я под линуксом работаю, и проверяю в первую очередь именно в нём).

Архив scmRTOS.4.00.all-platform.rar из scmRTOS
Примеры: любой для STM32F1XX под GCC. Ничего не менял - просто распаковал папку.

P.S. В Eclipse под Windows тоже не собирается, но это разговор для другой ветки


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 25 2016, 06:49
Сообщение #4


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Хм. Проверил - собирается:
Код
~/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

А что у вас за тулчейн? Откуда взяли и как ставили?


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Harvester
сообщение Feb 25 2016, 07:54
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Цитата(AHTOXA @ Feb 25 2016, 09:49) *
Хм. Проверил - собирается:
...
А что у вас за тулчейн? Откуда взяли и как ставили?

Мне дали 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


Сообщение отредактировал Harvester - Feb 25 2016, 08:06


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 25 2016, 09:15
Сообщение #6


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Тут, к сожалению, не подскажу - не сталкивался с таким. Видимо, какие-то ограничения. Попробуйте установить в /opt.
И ещё, забыл написать сразу - 4.0 - уже довольно давняя версия, сейчас актуальна версия 5.0.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Harvester
сообщение Feb 25 2016, 09:46
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Цитата(AHTOXA @ Feb 25 2016, 12:15) *
Тут, к сожалению, не подскажу - не сталкивался с таким. Видимо, какие-то ограничения. Попробуйте установить в /opt.
И ещё, забыл написать сразу - 4.0 - уже довольно давняя версия, сейчас актуальна версия 5.0.

Если не сложно, опишите, как у Вас настроена рабочая среда. Спасибо
Update:
Текущий тулчейн был установлен через центр ПО Ubuntu. Удалил его и поставил 4.9 с launchpad через PPA. Он встал тоже в /usr/bin/. Теперь примеры scmRTOS собираются, а вот мой старый проект не компилируется. Неужели в linux нельзя одновременно поставить две версии тулчейна?

Сообщение отредактировал Harvester - Feb 25 2016, 10:02


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Feb 25 2016, 10:45
Сообщение #8


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(Harvester @ Feb 25 2016, 14:46) *
Если не сложно, опишите, как у Вас настроена рабочая среда. Спасибо

Я скачал архив с https://launchpad.net/gcc-arm-embedded, распаковал его в /opt, и добавил его /bin в PATH.
Цитата(Harvester @ Feb 25 2016, 14:46) *
Текущий тулчейн был установлен через центр ПО Ubuntu. Удалил его и поставил 4.9 с launchpad через PPA. Он встал тоже в /usr/bin/. Теперь примеры scmRTOS собираются, а вот мой старый проект не компилируется. Неужели в linux нельзя одновременно поставить две версии тулчейна?

Скорее всего, тот тулчейн, который был у вас установлен в образе виртуалки, был каким-то образом специально допилен. От этого и все проблемы.
А насчёт нескольких тулчейнов - пожалуйста, ставьте, просто не добавляйте их в PATH, и указывайте полный путь при запуске. (По вашей ссылке как раз про такой способ написано).


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Harvester
сообщение Feb 25 2016, 11:36
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Цитата(AHTOXA @ Feb 25 2016, 13:45) *

Разобрался, в чем было дело!
Тулчейн 32-битный, а система 64-битная.
Поставил 32-битные библиотеки и все заработало
Код
dpkg --add-architecture i386
apt-get update
apt-get install libc6:i386 zlib1g:i386

Теперь осталось с Eclips-ом разобраться

Сообщение отредактировал Harvester - Feb 25 2016, 13:02


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th April 2024 - 12:02
Рейтинг@Mail.ru


Страница сгенерированна за 0.0156 секунд с 7
ELECTRONIX ©2004-2016