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

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


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

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



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

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

Но почему линкеру необходимы именно "чистые" си, а не плюсы для поиска внешних меток?
Что за причуда? wacko.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sonycman
сообщение Jan 1 2009, 21:27
Сообщение #2


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

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



Понятно, спасибо smile.gif

В соседней теме я высказался по поводу отсутствия хидеров с определениями регистров периферии для семейства STM32.
Поэтому приходится частично юзать библиотеку.

Но у неё, похоже, проблемы с С++ - чего стоит переопределение bool и несколько других предупреждений при компиляции - без правки исходника не обойтись 05.gif
Эта версия шла в комплекте с MDK3.40.

Надо глянуть на сайте ST, может есть исправленная версия...

ЗЫ: точно - скачал с их сайта обновлённую версию библиотеки - добавлены определения всех битов!
Но заточку под plain C так и не убирали - на плюсах приходится дорабатывать напильником пару строчек sad.gif
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th August 2025 - 23:51
Рейтинг@Mail.ru


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