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

 
 
> Как в IAR Собрать Проект Состоящий Из Нескольких Файлов
shasik
сообщение Sep 1 2006, 23:28
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 319
Регистрация: 3-09-05
Из: Беларусь, Новополоцк
Пользователь №: 8 188



Картина такая: проект состоит из нескольких файлов (в одном математика, в другом ввод/вывод и т.д.). В режиме отладки (best debug support) проект нормально собирается и очень даже работает, но как только ставлю оптимизацию (любую по size или speed), линкер пишет, что у него неопределенная ссылки на внешние функции. Самое удивительно, что с глобальными переменными, объявленными в разных модулях, все нормально, более того функции из некоторых файлов нормально находит, а вот некоторые файлы - ни в какую. Дошло до того, что удалив из С-шных исходников IAR-овскую и MSP-шную специфику запихнул все в Visual C++ 6.0, так вижуал сказал, что все OK. Так что дело в IAR'e. Может порядок компиляции, может просто глюк, а может я где-то грабли не заметил. Пока пришло все запихнуть нафиг в один файл, но уж больно неудобно и очень нелогично получается
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rezident
сообщение Sep 2 2006, 21:36
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Версия IAR какая? Глобальные переменные и функции, описанные в других модулях, как extern объявляли? ИМХО проще всего, дополнив все прототипы extern, запихнуть их в один хидер. И уже этот хидер инклюдить во все модули программы по принципу "кашу маслом не испортишь". В том смысле, что прототип функции, объявленный как extern, не будет конфликтовать в другим таким же прототипом или с самой функцией, даже если они встретятся в одном файле.
А вообще VAI правильно заметил: Код в студию! Ну и ошибки компилятора тоже.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 30th July 2025 - 02:25
Рейтинг@Mail.ru


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