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

 
 
> MCC18 and header files
bornbash
сообщение Apr 18 2011, 06:02
Сообщение #1


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

Группа: Участник
Сообщений: 79
Регистрация: 15-06-10
Пользователь №: 57 933



ДОброго времени суток! Форумчане, никак не получается победить ошибку при компиляции "Error - symbol 'cycl_buf' has multiple definitions." Возникает при попытке подключить файл заголовка в нескольких сишных файлах проекта. Повторного объявления переменной больше нет ни в одном файле проекта.
Содержание файла-заголовка:
// USART
#ifndef __RINGBUFFER_H
#define __RINGBUFFER_H

#define LEN 0x10 /* Длина буфера */

unsigned char cycl_buf[LEN];
unsigned int bbuf=0;
unsigned int ebuf=0;
unsigned int count1_outQ=0;
unsigned int count2_outQ=0;

#endif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Pasha
сообщение Apr 18 2011, 06:40
Сообщение #2


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(bornbash @ Apr 18 2011, 09:02) *
Повторного объявления переменной больше нет ни в одном файле проекта.

Компиляторы не обязаны понимать объявление переменных в хедере как extern по умолчанию. Более того, те компилеры, которые так делают, концептуально неправильны.
Объявите переменные в хедере extern и опишите их один раз в том модуле, где Вы считаете необходимым их размещение.
Go to the top of the page
 
+Quote Post



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

 


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


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