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

 
 
> Ошибка линкера IAR 5.4, не линкуется конфигурация Release
apis007
сообщение Mar 10 2010, 08:09
Сообщение #1





Группа: Участник
Сообщений: 11
Регистрация: 6-10-09
Из: Калуга
Пользователь №: 52 769



Добрый день.
Осваиваю ARM AT91SAM7x256, в качестве среды разработки выбрал IAR 5.4. Поигрался с проектом getting_started - все замечательно работает (проверял на отладочной плате). Решил пойти далее и создать свой простенький проект, используя куски из gettinng_started, а также библиотеки работы с периферией. Проект создал-получил соответственно две конфигурации Debug и Release, произвел настройки для каждой конфигурации причем одинаковые настройки. В итоге конфигурация Debug замечательно компилится, линкуется и работает, а вот Release конфигурация линковаться не желает и выдает ошибки:
Error[Li005]: no definition for "__write" [referenced from fflush.o(dl4t_al_if.a)]
Error[Li005]: no definition for "__close" [referenced from fclose.o(dl4t_al_if.a)]
Error[Li005]: no definition for "remove" [referenced from fclose.o(dl4t_al_if.a)]
Я так понимаю настройка линкера для Release должны отличаться от настроек для Debug? или дело в чем-то другом?
Пробывал сравнить с настройками в getting_started, но там конфигурации проекта Flash и Sram, какая из них подойдет (и подойдет ли вообще) так и не понял.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 3)
zltigo
сообщение Mar 10 2010, 08:34
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(apis007 @ Mar 10 2010, 11:09) *
произвел настройки для каждой конфигурации причем одинаковые настройки.

Настройки НЕ одинаковые, поскольку определяются (сюрприз!) не только галочками. Берете документацию на компилятор (не обязательно даже IAR) и читаете про опцию NDEBUG


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
apis007
сообщение Mar 10 2010, 10:31
Сообщение #3





Группа: Участник
Сообщений: 11
Регистрация: 6-10-09
Из: Калуга
Пользователь №: 52 769



спасибо за наводочкуsmile.gif помогла продвинуться в нужном направлении. Опция NDEBUG в Release конфигурации по дефолту уже есть, а надо было еще добавить NOASSERT. Все заработалоsmile.gif
Go to the top of the page
 
+Quote Post
zltigo
сообщение Mar 10 2010, 10:38
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(apis007 @ Mar 10 2010, 13:31) *
NDEBUG в Release конфигурации по дефолту уже есть

В том и дело, что в Release есть, а Вы напихали в проект всякой мути. Если муть зачем-то нужна - убирайте NDEBUG. В противном случае убирайте муть.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 05:50
Рейтинг@Mail.ru


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