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

 
 
> Компилятор RealView пакета MDK3.40, обработка external symbol
sonycman
сообщение Dec 31 2008, 13:03
Сообщение #1


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Здравствуйте, уважаемые smile.gif

Думаю продублировать тему здесь, всё таки вопрос по компилятору, хоть и не по GNU...
А то, может, в разделе по АРМам соответствующие спецы редко появляются... 05.gif

В проекте uVision есть асмовый файл (startup.s) и несколько сишных .cpp.
Потребовалось передать в таблицу векторов в асм адрес функции, определённой в си.

Ну воткнул в асм IMPORT label_name перед указанием метки. Вроде всё правильно.
Все файлы компилируются, но линкер безостановочно ругается на undefined symbol "label_name" 07.gif
Такую-то мать. Весь вечер убил на ковыряние - оказалось, виной всему было расширение файла с функцией - .cpp. Переименование в .c решает проблему (но добавляет другие smile.gif)
Или ещё можно выкрутиться заключением функции в обёртку extern "C" {}...

Но почему линкеру необходимы именно "чистые" си, а не плюсы для поиска внешних меток?
Что за причуда?

И другой вопрос.
Компилирую свой проект с использованием MicroLib, проект простой, имеет всего два небольших класса.
Однако сейчас на этапе линковки стала вылетать такая ошибка:
Код
.\obj\blinky.axf: Error: L6218E: Undefined symbol __cpp_initialize__aeabi_ (referred from anon$$obj.o).

При снятии галочки с Use MicroLib в свойствах проекта - ошибка пропадает, всё собирается нормально.

Никто не сталкивался с подобным? Так ли актуальна эта microlib?
Чёрт, а стандартная либа жрёт на 500 байт больше - это пока. Но зато никаких ограничений smile.gif

ЗЫ: Вроде разобрался, что это - вызов библиотечного обработчика конструкторов объектов С++.
А у микролиб с этим проблемы - если есть глобальный объект с конструктором, то такая ошибка обеспечена.


ЗЗЫ всех с наступающим Новым годом!
Счастья вам, здоровья, успехов и удачи!
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 06:11
Рейтинг@Mail.ru


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