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

 
 
> Сode Vision AVR, проблемы при переходе на новую версию, Вопрос по работе Сode Vision AVR, версия 2.05.0.
Nikkolaj
сообщение Apr 19 2012, 12:04
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 25-09-08
Пользователь №: 40 467



Добрый день.
У меня такой вопрос.
Есть у меня проект, который я когда то сделал на Сode Vision AVR версия 1.25.9.
Контроллер ATmega16.

Возникла необходимость внести изменения в алгоритм.
С Сode Vision AVR я уже давно не работал, перешёл на IAR.
Поставил новую версию Сode Vision AVR, версия 2.05.0.
Компилируется проект нормально.
А при построении проекта выдаёт сообщение: Cant open file: ....\file1.o

Проект состоит из 3 СИ файлов, назовём их
filemain.c
file1.c
file2.c

И двух header. файлов:
file1.h
file2.h
В проект включены только СИ файлы, а header файлы подключены директивой #include.

В окне навигатора, в папке Проекта естественно находятся все три СИ файла.
После компиляции, в папке Проекта так и остаются три СИ файла,
а вот в папке Headers почему то находятся и СИ файлы, и Headers файлы:
file1.c
file1.h
mega16.h
file2.c
file2.h

Почему компилятор помещает file1.c, file2.c в папку Headers я не понимаю.
Пробовал менять конфигурацию проекта, результат такой же.

Посоветуйте что то толковое.

Не знаю, имеет ли это значение, но всё же, проект создавался под ОС Windovs XP, а сейчас стоит Windovs.7
Вроде бы вся информация.


Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Nikkolaj
сообщение Apr 20 2012, 09:45
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 147
Регистрация: 25-09-08
Пользователь №: 40 467



Добрый день.
Спасибо за дистрибутив, я его скачал, но устанавливать пока не стал.
Я нашёл в чём была ошибка.
Я подключал к проекту все 3 файла в конфигурации по add files, а
в filemain.c у меня были директивы #include file1.c, #include file2.c.
Двойное подключение файлов компилятору и не нравилось.
Сейчас решил переделать правильно.
Из файла filemain.c директивы #include file1.c, #include file2.c удалил.
Добавил файл glob_defs.h для всех #define, и подключил его к нужным файлам.

Посоветуйте пожалуйста,
как праильно поступить с обявлением глобальных переменных,
которые используются в разных файлах.
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Apr 20 2012, 10:51
Сообщение #3


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



Цитата(Nikkolaj @ Apr 20 2012, 13:45) *
Я подключал к проекту все 3 файла в конфигурации по add files, а
в filemain.c у меня были директивы #include file1.c, #include file2.c.
Двойное подключение файлов компилятору и не нравилось.

Посоветуйте пожалуйста,
как праильно поступить с обявлением глобальных переменных,
которые используются в разных файлах.


#include name.c очень опасное мероприятие, лучше избегать всячески. Есть случаи, когда это удобно, но это скорее исключения из правил.

Ссылки на глобальные переменные можно собрать в одном заголовочном файле (какой-нибудь globvar.h, не забыть сделать стражи вкючения в нем) и использовать в других файлах с кодом.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post



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

 


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


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