Подключение одного *.h к нескольким файлам - C (СИ)
Формулировка задачи:
Приветствую! Возникла очередная проблема, с которой с ходу разобраться не получается.
Если подключить TWI_LIB в первом и втором файлах то ругается на множественное объявление
multiple definition of `бла бла()'
Если подключить только в одном либо в main то ругается на не объявленность в области видимости
Error 'бла бла' was not declared in this scope
Первый FILE1.h файл
его cpp
Второй bmp180.h файл
Его cpp
TWI_LIB.h который требуется подключить к нескольким файлам
Main файл
#ifndef FILE1_H_ #define FILE1_H_ #include "twi_lib.h" void shttest(); #endif /* FILE1_H_ */
#include "FILE1.h"
void shttest(){
i2cSetBitrate(1000);
i2cSendStart();
}#ifndef _ATMEGA_BMP180_LIB_H_ #define _ATMEGA_BMP180_LIB_H_ #include <avr/io.h> #include <util/delay.h> #include <stdio.h> #include <util/twi.h> #include <math.h> #include "twi_lib.h" Описание #endif
#include "bmp180.h"
void bla (void){
int i=0;
i++;
}#ifndef _TWI_LIB_H_ #define _TWI_LIB_H_ #include <avr/io.h> #include <util/delay.h> #include <util/twi.h> //---------------------------------------- Описание //---------------------------------------- #endif /* _TWI_LIB_H_ */
#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>
#include "bmp180.h"
#include "sht21.h"
void main(void){
Программа
}Решение задачи: «Подключение одного *.h к нескольким файлам»
textual
Листинг программы
#ifndef SHT21_H_ #define SHT21_H_ #include "twi_lib.h" void shttest(); #endif /* SHT21_H_ */