Страница 1 из 1

Помогите разобраться с компиляцией.

Добавлено: Пт авг 11, 2017 17:47:07
Wladimir_TS
В общем пытаюсь откомпилировать этот проект:

Установил WinAVR - вроде как его студия видит.

Создал проект (в студии 4.18) и перенес в него все *.c, *.s (в чем разница ?) и *.h

Жму Ctrl+F7 и понеслось :

C:/Program Files/Atmel/WinAVR/avr/include/stdint.h:116: Error: unknown opcode `typedef'

Тоесть ругань на внутреннюю WinAVR библиотеку или я чего-то не понимаю.

Re: Помогите разобраться с компиляцией.

Добавлено: Пт авг 11, 2017 18:37:22
Z_h_e
Наверное надо поставить смайлик :facepalm:

По скольку ругается на opcode, то видимо исходный сишный код Вы пытаетесь скомпиллить как ассемблерный.

Re: Помогите разобраться с компиляцией.

Добавлено: Пт авг 11, 2017 20:06:08
Wladimir_TS
Не исключу. Ни разу не сталкивался с компиляцией Сишных проектов. Но надо-ж когда-то начинать. В свойствах проекта стоит Си. К тому-ж тогда он с первой строчки main.c должен был-бы завопить.

Re: Помогите разобраться с компиляцией.

Добавлено: Ср авг 16, 2017 07:46:05
COKPOWEHEU
[uquote="Wladimir_TS",url="/forum/viewtopic.php?p=3160396#p3160396"]все *.c, *.s (в чем разница ?)[/uquote]
По расширению обычно определяют тип файла:
.s (строчная) - исходник на gnu-as, одном из диалектов ассемблера, не нуждающийся в препроцессоре
.S (заглавная) - то же, но перед компиляцией будут обработаны #include, #define и тому подобные директивы препроцессора
Впрочем, не уверен, справится ли WinAVR: в windows нет разницы между заглавными и строчными буквами. Но каким-то образом они хранятся, так что может и обрабатывать.
.asm - AVR assembler (речь идет о конкретном применении, наверняка другие ассемблеры тоже считают его своим)
.c - исходник на С
.cpp - исходник на С++
.h - заголовочный файл к C/C++

Для подробностей по расширениям man gcc

Re: Помогите разобраться с компиляцией.

Добавлено: Ср авг 16, 2017 21:36:03
Wladimir_TS
Спасибо. Но все-ж как правильно открыть такой проект (вложение в перврм сообщении темы) в AVR Studio + WinAVR или это вообще для другого компилятора ?

Re: Помогите разобраться с компиляцией.

Добавлено: Чт авг 17, 2017 12:27:50
viiv
[uquote="Wladimir_TS",url="/forum/viewtopic.php?p=3164068#p3164068"]Спасибо. Но все-ж как правильно открыть такой проект (вложение в перврм сообщении темы) в AVR Studio + WinAVR или это вообще для другого компилятора ?[/uquote]

Я никогда не работал c AVR Studio, но:
1) собираетесь компилить C-проекты (на скамом деле с+asm), то азы надо знать! Хотябы "по диагонали" книжку по C прочитать. Чем отличается файл с исходником C и asm-файл уж точно нужно понимать :-)
2) там в комплекте есть Makefile, может просто в командной строке make запустить?

Код: Выделить всё

make hex
Либо читайте про среду AVR Studio, либо ей можно готовый Makefile "скормить", либо добавляйте все файлы и необходимые опции.

Re: Помогите разобраться с компиляцией.

Добавлено: Чт авг 17, 2017 17:34:29
oleg110592
[uquote="Wladimir_TS",url="/forum/viewtopic.php?p=3164068#p3164068"]открыть такой проект... в AVR Studio + GCCAVR[/uquote]
корявенько, но компилируется, для WinAVR в настройках проекта Project->Configuration Options->Custom Options->External Tools птичку поставить Use AVR Toolchain
Adpcm.zip
(59.05 КБ) 230 скачиваний

Re: Помогите разобраться с компиляцией.

Добавлено: Пт авг 18, 2017 08:14:22
Wladimir_TS
[uquote="viiv",url="/forum/viewtopic.php?p=3164422#p3164422"][uquote="Wladimir_TS",url="/forum/viewtopic.php?p=3164068#p3164068"]Спасибо. Но все-ж как правильно открыть такой проект (вложение в перврм сообщении темы) в AVR Studio + WinAVR или это вообще для другого компилятора ?[/uquote]

Я никогда не работал c AVR Studio, но:

Либо читайте про среду AVR Studio, либо ей можно готовый Makefile "скормить", либо добавляйте все файлы и необходимые опции.[/uquote]

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

+ в Makefile есть, как минимум 1 константа на которую ссылается какой-то из файлов.