Atmel Studio 7: использование заголовочного файла avr/delay.h выдает предупреждение

Я работаю над кодом повторителя белой линии в atmel studio 7 и добавил файл lcd.c для отображения измеренных значений для белой линии. Используемые заголовочные файлы

<avr/io.h>                 
<avr/delay.h>         
<util/delay.h>     

как в основном файле, так и в ЖК-файле.
когда я компилирую этот код, я получаю предупреждение:

этот файл перемещен в util/delay.h

код в порядке.
когда я пытался собрать этот проект, я получаю некоторые ошибки, например,

Error :     multiple definition of 'lcd_set_4bit'                       
Error:      Disabling relaxation: it will not work with multiple definitions       
warning:    "This file has been moved to <util/delay.h>. [-Wcpp]"   
Error:      multiple definition of 'lcd_wr_command' in file delay.h           
Error:      multiple definition of 'lcd_init' in file delay.h    
Error:      multiple definition of 'lcd_wr_char' in file delay.h                                          
Error:      multiple definition of 'lcd_home' in file delay.h   
Error:      multiple definition of 'lcd_string' in file delay.h   
Error:      multiple definition of 'lcd_cursor' in file delay.h   
Error:      multiple definition of 'lcd_print' in file delay.h                    

Error:      recipe for target 'project6.elf' failed   
Error:      ld returned 1 exit status

пожалуйста, кто-нибудь, помогите мне избавиться от этой проблемы.


person sagar_a    schedule 12.04.2017    source источник


Ответы (1)


Объявления и определения функций должны находиться в отдельных файлах .h/.c для Atmel Studio. По крайней мере, это исправило эту ошибку для меня.

person Nate    schedule 30.01.2020