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

 
 
> AVR Studio Toolchain [РЕШЕНО], глюк?
Alt.F4
сообщение May 18 2012, 20:01
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



Добрый день.
Начал разбираться с AVR Studio Toolchain.
Написал дома тестовый код и скомпилировал, принес проект на работу и никак не выходит собрать, толкает ошибки в подключенных файлах *.с
'переменная' undeclared (first use in this function)
ОК, поключаю хидер в этот файл, уже пишет multiple definition причем указывает на одну и туже строку.
Но, что интересно! Проблема решается тупым удалением прикрепленных файлов в левой колонке проекта (остается только один main).
Как это объяснить?
Спасибо.

Прикрепленное изображение


Сообщение отредактировал Alt.F4 - May 19 2012, 03:08
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
_Артём_
сообщение May 18 2012, 20:29
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Alt.F4 @ May 18 2012, 23:01) *
Написал дома тестовый код и скомпилировал, принес проект на работу и никак не выходит собрать, толкает ошибки в подключенных файлах *.с
'переменная' undeclared (first use in this function)
ОК, поключаю хидер в этот файл, уже пишет multiple definition причем указывает на одну и туже строку.
Но, что интересно! Проблема решается тупым удалением прикрепленных файлов в левой колонке проекта (остается только один main).

Прикрепленное изображение

Вы бы проект выложили.
Возможные варианты:
- инклудятся с-файлы
- функция которые должны быть static inline объявлены как-то не так
- ещё много-много вариантов
Go to the top of the page
 
+Quote Post
Alt.F4
сообщение May 18 2012, 20:39
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



Повторюсь, проблема устраняется удалением приложенных файлов из окна проекта слева, оставив только make.
Спасибо.
Прикрепленный файл  m324_c.rar ( 16.38 килобайт ) Кол-во скачиваний: 93


Сообщение отредактировал Alt.F4 - May 18 2012, 20:45
Go to the top of the page
 
+Quote Post
_Артём_
сообщение May 18 2012, 20:59
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Alt.F4 @ May 18 2012, 23:39) *
проблема устраняется удалением
Прикрепленный файл  m324_c.rar ( 16.38 килобайт ) Кол-во скачиваний: 93


Ну тут проблема может и устраняется. Так и будете её создавать- устранять?

Этот код нужно изменить:
Код
#include "Init.c"
#include "kernel.c"

на такой:
Код
#include "Init.h"
#include "kernel.h"

И соответственно создать файлы kernel.h, Init.h в которых написать что-то такое
Код
#ifndef INIT_H
#define INIT_H
void InitRTOS(void);
void  Idle(void);
и так далее
#endif


Либо переименовать kernel.с, Init.с в kernel.h, Init.h и добавить к функциям static:
Код
static inline void  Idle(void)
{
/// код
}
и не пытаться из компилировать.
Go to the top of the page
 
+Quote Post
Alt.F4
сообщение May 19 2012, 03:05
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256



_Артём_, спасибо большое, тема раскрыта! cheers.gif

Сообщение отредактировал Alt.F4 - May 19 2012, 03:08
Go to the top of the page
 
+Quote Post

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

 


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


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