I am currently failing to write a good makefile and don’t know the reason why.. -.-
This is my main.c:
#include <windows.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("MEEEEEP");
return (0);
}
This is my makefile:
# make SYSTEM= OS= ENVIRONMENT=
# Binaries to use
ifeq ($(ENVIRONMENT),MINGW)
CXX = i686-pc-mingw32-g++
else
CXX = g++
endif
REMOVE = rm -vf
RC = windres
EXE = .exe
#############################################################
# Info
ifeq ($(CXX),g++)
INFO_CXX = g++ -dumpversion; g++ -dumpmachine
endif
#############################################################
# Flags
DEBUG = -DDEBUG -g
OPTIMIZATION = -O2 #-Winline -finline-functions
CFLAGS = -Wall -Wextra -W -static $(DEBUG) $(OPTIMIZATION) -D$(SYSTEM) -D$(OS) -D$(ENVIRONMENT) $(PRGFLAGS)
ifeq ($(SYSTEM),I686)
CFLAGS += -m32
ifeq ($(OS),WIN32)
CFLAGS += -D_WIN32
endif
ifeq ($(ENVIRONMENT),MINGW)
CFLAGS += -fexceptions
endif
endif
LFLAGS =
#############################################################
# Files
CFILES = main.c
OBJS = ${CFILES:.c=.o}
#############################################################
# Include
INCLUDES = -I.
#############################################################
# Library
LIBRARIES =
#############################################################
# Targets
.PHONY: all
all:
@echo == Standard build: make SYSTEM=I686 OS=WIN32 ENVIRONMENT=MINGW
@echo
@echo
make SYSTEM=I686 OS=WIN32 ENVIRONMENT=MINGW gyro
#############################################################
# Implicit rules and filename extensions...
.SUFFIXES: .h .o .c
.c.o: %.h
@echo Compiling $< for $(SYSTEM) $(OS) $(ENVIRONMENT) ...
@echo MEEP
$(CXX) $(CFLAGS) $(INCLUDES) -c $< -o $@
@echo MEEP2
#############################################################
# Target rules
gyro: $(OBJS)
@echo Building software for $(SYSTEM) ...
@echo
$(CXX) $(CFLAGS) $(LFLAGS) -o $@$(EXE) $(OBJS) $(LIBRARIES)
#############################################################
# Clean
.PHONY: clean
clean:
$(REMOVE) $(OBJS)
#############################################################
# Info
.PHONY: info
info:
@echo
@echo Information about C++ Compiler/Linker:
@echo
$(INFO_CXX)
When i type in make gyro,
i receive the output:
Compiling main.c for Windows_NT ...
MEEP
g++ -Wall -Wextra -W -static -DDEBUG -g -O2 -D -DWindows_NT -D -I. -c main.c -o main.o
makeNew.mak:83: recipe for target `main.o' failed
make: *** [main.o] Error 1
But Line number 83 is behind .c.o: %.h. And i don’t understand why.
Does anyone have a solution for me?
nik-el 0 / 0 / 0 Регистрация: 04.06.2018 Сообщений: 16 |
||||
1 |
||||
05.06.2018, 16:10. Показов 20743. Ответов 16 Метки нет (Все метки)
Помогите разобраться где косяк
м.б. удалить этот » makefile» ? Добавлено через 5 часов 25 минут
0 |
0 / 0 / 0 Регистрация: 04.06.2018 Сообщений: 16 |
|
07.06.2018, 14:20 [ТС] |
2 |
аууу!!!
0 |
1280 / 1186 / 175 Регистрация: 02.12.2013 Сообщений: 4,884 |
|
07.06.2018, 14:49 |
3 |
Atmel Studio 7 автоматически генирит makefile и лезть в него не понимая для чего он нужен и что в нем написано совсем не нужно. Пере создайте проект и запустите отладку в симуляторе, будут ошибки компилятора выкладывайте здесь.
1 |
1976 / 1275 / 130 Регистрация: 04.01.2010 Сообщений: 4,607 |
|
08.06.2018, 14:15 |
5 |
gcc (это компилятор такой) выкладывает стек ошибок при выполнении задачи makefile. Вот и получается, ошибки «посыпались», одна, рождая другую. Исправьте ошибки в исходниках, и возможно все ваши остальные сложности отпадут за ненадобностью.
1 |
0 / 0 / 0 Регистрация: 04.06.2018 Сообщений: 16 |
|
09.06.2018, 14:10 [ТС] |
6 |
спасибо, я это уже понял, читаю доки на С++ и ищу где накосячил
0 |
1280 / 1186 / 175 Регистрация: 02.12.2013 Сообщений: 4,884 |
|
09.06.2018, 14:34 |
7 |
Для AVR лучше писать на чистом СИ
0 |
0 / 0 / 0 Регистрация: 04.06.2018 Сообщений: 16 |
|
13.06.2018, 09:26 [ТС] |
8 |
в Atmel Studio 7 вроде как С++ используется, так почему бы не воспользоваться его ++ми
0 |
1280 / 1186 / 175 Регистрация: 02.12.2013 Сообщений: 4,884 |
|
13.06.2018, 10:22 |
9 |
Потому что не зная тонкостей работы компилятора плюсов, Вы можете значительно увеличить размер программы и снижения быстродействия. На ПИ СИ это не очень страшно, а вот в AVR памяти мало
0 |
0 / 0 / 0 Регистрация: 04.06.2018 Сообщений: 16 |
|
13.06.2018, 11:47 [ТС] |
10 |
я в курсе и взял МК с запасом тини1616, но сейчас важнее запустить проект, а оптимизацией можно будет заняться и после, «если что»
0 |
0 / 0 / 0 Регистрация: 04.06.2018 Сообщений: 16 |
|
18.06.2018, 11:46 [ТС] |
11 |
в другой моей теме написал «регулярно запинаюсь из-за разных подходов(в примерах) в программировании на С / С++ и для разных сред и за разные годы издания фирменной документации»
0 |
296 / 227 / 102 Регистрация: 11.08.2016 Сообщений: 780 |
|
24.06.2018, 14:37 |
12 |
nik-el, лог ошибок в студию
0 |
0 / 0 / 0 Регистрация: 13.04.2017 Сообщений: 41 |
|
06.12.2019, 01:05 |
13 |
У меня проблема один к одному, как у автора этой темы — nik-el. Хотя перечитал и выполнил все советы — проблему не решил. Коротко повторюсь. В новый проект (С/С++) Atmel Studio 7 загрузил пример на простом С отсюда. Уменьшил количество ошибок до 2-х: Что делать дальше не знаю. Где копать? Заранее благодарю за помощь. Миниатюры
0 |
593 / 356 / 67 Регистрация: 21.09.2008 Сообщений: 1,223 |
|
07.12.2019, 20:46 |
14 |
Реализация функции uart_init() где?
0 |
0 / 0 / 0 Регистрация: 13.04.2017 Сообщений: 41 |
|
08.12.2019, 11:10 |
15 |
Реализация функции uart_init() где? В библиотеке uart.h: void uart_init(void);
0 |
Модератор 8809 / 6592 / 894 Регистрация: 14.02.2011 Сообщений: 23,178 |
|
08.12.2019, 14:14 |
16 |
В библиотеке uart.h: void uart_init(void); это не реализация, это объявление
0 |
0 / 0 / 0 Регистрация: 13.04.2017 Сообщений: 41 |
|
16.12.2019, 12:56 |
17 |
Решение проблемы есть тут.
0 |
How can I fix an error «recipe for target ‘main.o’ failed» at Dev C++
Here is a code I wrote
#include <stdio.h> main() { printf("Hello World"); }
yeah fully basic
and this is makefile.
# Project: Project2 # Makefile created by Dev-C++ 5.11 CPP = g++.exe CC = gcc.exe WINDRES = windres.exe OBJ = main.o LINKOBJ = main.o LIBS = -L"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib" -L"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib" -static-libgcc INCS = -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include" CXXINCS = -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++" BIN = Project2.exe CXXFLAGS = $(CXXINCS) CFLAGS = $(INCS) RM = rm.exe -f .PHONY: all all-before all-after clean clean-custom all: all-before $(BIN) all-after clean: clean-custom ${RM} $(OBJ) $(BIN) $(BIN): $(OBJ) $(CC) $(LINKOBJ) -o $(BIN) $(LIBS) main.o: main.c $(CC) -c main.c -o main.o $(CFLAGS)
How can I fix this problem?
Archived post. New comments cannot be posted and votes cannot be cast.
I got this error while trying to compile blynk-library/linux
raspberrypi2$ git clone https://github.com/blynkkk/blynk-library.git
Cloning into 'blynk-library'...
remote: Counting objects: 2832, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 2832 (delta 0), reused 0 (delta 0), pack-reused 2828
Receiving objects: 100% (2832/2832), 494.34 KiB, done.
Resolving deltas: 100% (1674/1674), done.
raspberrypi2$ cd blynk-library/linux/
raspberrypi2$ make clean all target=raspberry
rm main.o BlynkDebug.o ../utility/BlynkHandlers.o blynk
rm: cannot remove `main.o': No such file or directory
rm: cannot remove `BlynkDebug.o': No such file or directory
rm: cannot remove `../utility/BlynkHandlers.o': No such file or directory
rm: cannot remove `blynk': No such file or directory
Makefile:62: recipe for target 'clean' failed
make: [clean] Error 1 (ignored)
g++ -I ../ -I ./ -DLINUX -c -O3 -w -DRASPBERRY main.cpp -o main.o
In file included from ./BlynkSocket.h:25:0,
from main.cpp:17:
../Blynk/BlynkProtocol.h: In member function ‘bool BlynkProtocol<Transp>::connect(uint32_t)’:
../Blynk/BlynkProtocol.h:55:13: error: there are no arguments to ‘yield’ that depend on a template parameter, so a declaration of ‘yield’ must be available [-fpermissive]
../Blynk/BlynkProtocol.h:55:13: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
Makefile:68: recipe for target 'main.o' failed
make: *** [main.o] Error 1
raspberrypi2$
I fixed this with editing blynk-library/linux/Makefile
raspberrypi2$ diff blynk-library/linux/Makefile-ORIGINAL blynk-library/linux/Makefile-EDITED
48c48
< CFLAGS += -DRASPBERRY
---
> CFLAGS += -DRASPBERRY -fpermissive
Explanation about this flag can be found here
http://stackoverflow.com/questions/8843818/what-does-the-fpermissive-flag-do
The compilation process is now OK
raspberrypi2$ make clean all target=raspberry
rm main.o BlynkDebug.o ../utility/BlynkHandlers.o blynk
rm: cannot remove `main.o': No such file or directory
rm: cannot remove `BlynkDebug.o': No such file or directory
rm: cannot remove `../utility/BlynkHandlers.o': No such file or directory
rm: cannot remove `blynk': No such file or directory
Makefile:62: recipe for target 'clean' failed
make: [clean] Error 1 (ignored)
g++ -I ../ -I ./ -DLINUX -c -O3 -w -DRASPBERRY -fpermissive main.cpp -o main.o
g++ -I ../ -I ./ -DLINUX -c -O3 -w -DRASPBERRY -fpermissive BlynkDebug.cpp -o BlynkDebug.o
g++ -I ../ -I ./ -DLINUX -c -O3 -w -DRASPBERRY -fpermissive ../utility/BlynkHandlers.cpp -o ../utility/BlynkHandlers.o
g++ main.o BlynkDebug.o ../utility/BlynkHandlers.o -lrt -lpthread -s -lwiringPi -o blynk
raspberrypi2$
Форум РадиоКот • Просмотр темы — Ошибка recipe for target ‘main.o’ failed Atmel Studio7
Сообщения без ответов | Активные темы
ПРЯМО СЕЙЧАС: |
Автор | Сообщение |
---|---|
|
Заголовок сообщения: Ошибка recipe for target ‘main.o’ failed Atmel Studio7 Добавлено: Пн мар 21, 2022 16:15:47 |
Нашел транзистор. Понюхал.
Карма: -1 Рейтинг сообщения: 0
|
Не собирается проект. Ошибку recipe for target ‘main.o’ failed. Makefile выглядит так: Если кто-то может разъяснить, в чем может быть причина — буду очень благодарен. |
Вернуться наверх |
Профиль
|
Реклама | |
|
|
Land
|
Заголовок сообщения: Re: Ошибка recipe for target ‘main.o’ failed Atmel Studio7 Добавлено: Ср мар 23, 2022 11:32:09 |
Нашел транзистор. Понюхал.
Карма: -1 Рейтинг сообщения: 0
|
Собственно проблема оказалась в подключении #include. Тема закрыта. |
Вернуться наверх | |
Реклама | |
|
|
Кто сейчас на форуме |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |
Перейти к контенту
I am currently failing to write a good makefile and don’t know the reason why.. -.-
This is my main.c:
#include <windows.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("MEEEEEP");
return (0);
}
This is my makefile:
# make SYSTEM= OS= ENVIRONMENT=
# Binaries to use
ifeq ($(ENVIRONMENT),MINGW)
CXX = i686-pc-mingw32-g++
else
CXX = g++
endif
REMOVE = rm -vf
RC = windres
EXE = .exe
#############################################################
# Info
ifeq ($(CXX),g++)
INFO_CXX = g++ -dumpversion; g++ -dumpmachine
endif
#############################################################
# Flags
DEBUG = -DDEBUG -g
OPTIMIZATION = -O2 #-Winline -finline-functions
CFLAGS = -Wall -Wextra -W -static $(DEBUG) $(OPTIMIZATION) -D$(SYSTEM) -D$(OS) -D$(ENVIRONMENT) $(PRGFLAGS)
ifeq ($(SYSTEM),I686)
CFLAGS += -m32
ifeq ($(OS),WIN32)
CFLAGS += -D_WIN32
endif
ifeq ($(ENVIRONMENT),MINGW)
CFLAGS += -fexceptions
endif
endif
LFLAGS =
#############################################################
# Files
CFILES = main.c
OBJS = ${CFILES:.c=.o}
#############################################################
# Include
INCLUDES = -I.
#############################################################
# Library
LIBRARIES =
#############################################################
# Targets
.PHONY: all
all:
@echo == Standard build: make SYSTEM=I686 OS=WIN32 ENVIRONMENT=MINGW
@echo
@echo
make SYSTEM=I686 OS=WIN32 ENVIRONMENT=MINGW gyro
#############################################################
# Implicit rules and filename extensions...
.SUFFIXES: .h .o .c
.c.o: %.h
@echo Compiling $< for $(SYSTEM) $(OS) $(ENVIRONMENT) ...
@echo MEEP
$(CXX) $(CFLAGS) $(INCLUDES) -c $< -o $@
@echo MEEP2
#############################################################
# Target rules
gyro: $(OBJS)
@echo Building software for $(SYSTEM) ...
@echo
$(CXX) $(CFLAGS) $(LFLAGS) -o $@$(EXE) $(OBJS) $(LIBRARIES)
#############################################################
# Clean
.PHONY: clean
clean:
$(REMOVE) $(OBJS)
#############################################################
# Info
.PHONY: info
info:
@echo
@echo Information about C++ Compiler/Linker:
@echo
$(INFO_CXX)
When i type in make gyro,
i receive the output:
Compiling main.c for Windows_NT ...
MEEP
g++ -Wall -Wextra -W -static -DDEBUG -g -O2 -D -DWindows_NT -D -I. -c main.c -o main.o
makeNew.mak:83: recipe for target `main.o' failed
make: *** [main.o] Error 1
But Line number 83 is behind .c.o: %.h. And i don’t understand why.
Does anyone have a solution for me?
nik-el 0 / 0 / 0 Регистрация: 04.06.2018 Сообщений: 16 |
||||
1 |
||||
05.06.2018, 16:10. Показов 19272. Ответов 16 Метки нет (Все метки)
Помогите разобраться где косяк
м.б. удалить этот » makefile» ? Добавлено через 5 часов 25 минут
__________________ 0 |
0 / 0 / 0 Регистрация: 04.06.2018 Сообщений: 16 |
|
07.06.2018, 14:20 [ТС] |
2 |
аууу!!! 0 |
1280 / 1186 / 175 Регистрация: 02.12.2013 Сообщений: 4,884 |
|
07.06.2018, 14:49 |
3 |
Atmel Studio 7 автоматически генирит makefile и лезть в него не понимая для чего он нужен и что в нем написано совсем не нужно. Пере создайте проект и запустите отладку в симуляторе, будут ошибки компилятора выкладывайте здесь. 1 |
1961 / 1275 / 130 Регистрация: 04.01.2010 Сообщений: 4,607 |
|
08.06.2018, 14:15 |
5 |
gcc (это компилятор такой) выкладывает стек ошибок при выполнении задачи makefile. Вот и получается, ошибки «посыпались», одна, рождая другую. Исправьте ошибки в исходниках, и возможно все ваши остальные сложности отпадут за ненадобностью. 1 |
0 / 0 / 0 Регистрация: 04.06.2018 Сообщений: 16 |
|
09.06.2018, 14:10 [ТС] |
6 |
спасибо, я это уже понял, читаю доки на С++ и ищу где накосячил 0 |
1280 / 1186 / 175 Регистрация: 02.12.2013 Сообщений: 4,884 |
|
09.06.2018, 14:34 |
7 |
Для AVR лучше писать на чистом СИ 0 |
0 / 0 / 0 Регистрация: 04.06.2018 Сообщений: 16 |
|
13.06.2018, 09:26 [ТС] |
8 |
в Atmel Studio 7 вроде как С++ используется, так почему бы не воспользоваться его ++ми 0 |
1280 / 1186 / 175 Регистрация: 02.12.2013 Сообщений: 4,884 |
|
13.06.2018, 10:22 |
9 |
Потому что не зная тонкостей работы компилятора плюсов, Вы можете значительно увеличить размер программы и снижения быстродействия. На ПИ СИ это не очень страшно, а вот в AVR памяти мало 0 |
0 / 0 / 0 Регистрация: 04.06.2018 Сообщений: 16 |
|
13.06.2018, 11:47 [ТС] |
10 |
я в курсе и взял МК с запасом тини1616, но сейчас важнее запустить проект, а оптимизацией можно будет заняться и после, «если что» 0 |
0 / 0 / 0 Регистрация: 04.06.2018 Сообщений: 16 |
|
18.06.2018, 11:46 [ТС] |
11 |
в другой моей теме написал «регулярно запинаюсь из-за разных подходов(в примерах) в программировании на С / С++ и для разных сред и за разные годы издания фирменной документации» 0 |
296 / 227 / 102 Регистрация: 11.08.2016 Сообщений: 780 |
|
24.06.2018, 14:37 |
12 |
nik-el, лог ошибок в студию 0 |
0 / 0 / 0 Регистрация: 13.04.2017 Сообщений: 41 |
|
06.12.2019, 01:05 |
13 |
У меня проблема один к одному, как у автора этой темы — nik-el. Хотя перечитал и выполнил все советы — проблему не решил. Коротко повторюсь. В новый проект (С/С++) Atmel Studio 7 загрузил пример на простом С отсюда. Уменьшил количество ошибок до 2-х: Что делать дальше не знаю. Где копать? Заранее благодарю за помощь. Миниатюры
0 |
576 / 340 / 66 Регистрация: 21.09.2008 Сообщений: 1,183 |
|
07.12.2019, 20:46 |
14 |
Реализация функции uart_init() где? 0 |
0 / 0 / 0 Регистрация: 13.04.2017 Сообщений: 41 |
|
08.12.2019, 11:10 |
15 |
Реализация функции uart_init() где? В библиотеке uart.h: void uart_init(void); 0 |
Модератор 8756 / 6546 / 887 Регистрация: 14.02.2011 Сообщений: 22,962 |
|
08.12.2019, 14:14 |
16 |
В библиотеке uart.h: void uart_init(void); это не реализация, это объявление 0 |
0 / 0 / 0 Регистрация: 13.04.2017 Сообщений: 41 |
|
16.12.2019, 12:56 |
17 |
Решение проблемы есть тут. 0 |
Форум РадиоКот • Просмотр темы — Ошибка recipe for target ‘main.o’ failed Atmel Studio7
Сообщения без ответов | Активные темы
ПРЯМО СЕЙЧАС: |
Автор | Сообщение |
---|---|
|
Заголовок сообщения: Ошибка recipe for target ‘main.o’ failed Atmel Studio7 Добавлено: Пн мар 21, 2022 16:15:47 |
Нашел транзистор. Понюхал. Карма: -1 Рейтинг сообщений: -10
Зарегистрирован: Ср янв 11, 2012 11:55:51 Рейтинг сообщения: 0 |
Не собирается проект. Ошибку recipe for target ‘main.o’ failed. Makefile выглядит так: Если кто-то может разъяснить, в чем может быть причина — буду очень благодарен. |
Вернуться наверх |
Профиль |
Реклама | |
Land
|
Заголовок сообщения: Re: Ошибка recipe for target ‘main.o’ failed Atmel Studio7 Добавлено: Ср мар 23, 2022 11:32:09 |
Нашел транзистор. Понюхал. Карма: -1 Рейтинг сообщений: -10
Зарегистрирован: Ср янв 11, 2012 11:55:51 Рейтинг сообщения: 0 |
Собственно проблема оказалась в подключении #include. Тема закрыта. |
Вернуться наверх | |
Реклама | |
Кто сейчас на форуме |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |
I got this error while trying to compile blynk-library/linux
raspberrypi2$ git clone https://github.com/blynkkk/blynk-library.git
Cloning into 'blynk-library'...
remote: Counting objects: 2832, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 2832 (delta 0), reused 0 (delta 0), pack-reused 2828
Receiving objects: 100% (2832/2832), 494.34 KiB, done.
Resolving deltas: 100% (1674/1674), done.
raspberrypi2$ cd blynk-library/linux/
raspberrypi2$ make clean all target=raspberry
rm main.o BlynkDebug.o ../utility/BlynkHandlers.o blynk
rm: cannot remove `main.o': No such file or directory
rm: cannot remove `BlynkDebug.o': No such file or directory
rm: cannot remove `../utility/BlynkHandlers.o': No such file or directory
rm: cannot remove `blynk': No such file or directory
Makefile:62: recipe for target 'clean' failed
make: [clean] Error 1 (ignored)
g++ -I ../ -I ./ -DLINUX -c -O3 -w -DRASPBERRY main.cpp -o main.o
In file included from ./BlynkSocket.h:25:0,
from main.cpp:17:
../Blynk/BlynkProtocol.h: In member function ‘bool BlynkProtocol<Transp>::connect(uint32_t)’:
../Blynk/BlynkProtocol.h:55:13: error: there are no arguments to ‘yield’ that depend on a template parameter, so a declaration of ‘yield’ must be available [-fpermissive]
../Blynk/BlynkProtocol.h:55:13: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
Makefile:68: recipe for target 'main.o' failed
make: *** [main.o] Error 1
raspberrypi2$
I fixed this with editing blynk-library/linux/Makefile
raspberrypi2$ diff blynk-library/linux/Makefile-ORIGINAL blynk-library/linux/Makefile-EDITED
48c48
< CFLAGS += -DRASPBERRY
---
> CFLAGS += -DRASPBERRY -fpermissive
Explanation about this flag can be found here
http://stackoverflow.com/questions/8843818/what-does-the-fpermissive-flag-do
The compilation process is now OK
raspberrypi2$ make clean all target=raspberry
rm main.o BlynkDebug.o ../utility/BlynkHandlers.o blynk
rm: cannot remove `main.o': No such file or directory
rm: cannot remove `BlynkDebug.o': No such file or directory
rm: cannot remove `../utility/BlynkHandlers.o': No such file or directory
rm: cannot remove `blynk': No such file or directory
Makefile:62: recipe for target 'clean' failed
make: [clean] Error 1 (ignored)
g++ -I ../ -I ./ -DLINUX -c -O3 -w -DRASPBERRY -fpermissive main.cpp -o main.o
g++ -I ../ -I ./ -DLINUX -c -O3 -w -DRASPBERRY -fpermissive BlynkDebug.cpp -o BlynkDebug.o
g++ -I ../ -I ./ -DLINUX -c -O3 -w -DRASPBERRY -fpermissive ../utility/BlynkHandlers.cpp -o ../utility/BlynkHandlers.o
g++ main.o BlynkDebug.o ../utility/BlynkHandlers.o -lrt -lpthread -s -lwiringPi -o blynk
raspberrypi2$
Here is a code I wrote
#include <stdio.h>
main()
{
printf("Hello World");
}
yeah fully basic
and this is makefile.
# Project: Project2
# Makefile created by Dev-C++ 5.11
CPP = g++.exe
CC = gcc.exe
WINDRES = windres.exe
OBJ = main.o
LINKOBJ = main.o
LIBS = -L"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib" -L"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib" -static-libgcc
INCS = -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include"
CXXINCS = -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include" -I"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++"
BIN = Project2.exe
CXXFLAGS = $(CXXINCS)
CFLAGS = $(INCS)
RM = rm.exe -f
.PHONY: all all-before all-after clean clean-custom
all: all-before $(BIN) all-after
clean: clean-custom
${RM} $(OBJ) $(BIN)
$(BIN): $(OBJ)
$(CC) $(LINKOBJ) -o $(BIN) $(LIBS)
main.o: main.c
$(CC) -c main.c -o main.o $(CFLAGS)
How can I fix this problem?
Atmel Studio 7.
Здравствуйте. Занимаюсь в свободное время небольшим проектом. Пару дней был перерыв, всё работало. Сегодня делаю ребилд, вот Output:
------ Rebuild All started: Project: RF, Configuration: Debug AVR ------
Build started.
Project "RF.cproj" (Clean target(s)):
Target "Clean" in file "D:CircuitsAtmelStudio7.0VsCompiler.targets" from project "D:CircuitsAvrProjectsRadioNannyRFRF.cproj" (entry point):
Task "RunCompilerTask"
Shell Utils Path D:CircuitsAtmelStudio7.0shellUtils
D:CircuitsAtmelStudio7.0shellUtilsmake.exe clean
rm -rf library.o
rm -rf library.d
rm -rf "libRF.elf" "libRF.a" "libRF.hex" "libRF.lss" "libRF.eep" "libRF.map" "libRF.srec" "libRF.usersignatures"
Done executing task "RunCompilerTask".
Done building target "Clean" in project "RF.cproj".
Done building project "RF.cproj".
Build succeeded.
------ Rebuild All started: Project: RF, Configuration: Debug AVR ------
Build started.
Project "RF.cproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "D:CircuitsAtmelStudio7.0VsCompiler.targets" from project "D:CircuitsAvrProjectsRadioNannyRFRF.cproj" (target "Build" depends on it):
Task "RunCompilerTask"
Shell Utils Path D:CircuitsAtmelStudio7.0shellUtils
D:CircuitsAtmelStudio7.0shellUtilsmake.exe all --jobs 2 --output-sync
D:CircuitsAvrProjectsRadioNannyRFReleaseMakefile(79,1): error: recipe for target 'library.o' failed
make: *** [library.o] Error 1
Done executing task "RunCompilerTask" -- FAILED.
Done building target "CoreBuild" in project "RF.cproj" -- FAILED.
Done building project "RF.cproj" -- FAILED.
Build FAILED.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
В ошибках:
Severity Code Description Project File Line
Error recipe for target 'library.o' failed RF D:CircuitsAvrProjectsRadioNannyRFReleaseMakefile 79
Что находится в Makefile строка 78-82:
78: ./%.o: .././%.c
79: @echo Building file: $<
80: @echo Invoking: AVR/GNU C Compiler : 5.4.0
81: $(QUOTE)D:CircuitsAtmelStudio7.0toolchainavr8avr8-gnu-toolchainbinavr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DNDEBUG -I"D:CircuitsAtmelStudio7.0PacksatmelATtiny_DFP1.2.118include" -Os -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -mmcu=attiny13 -B "D:CircuitsAtmelStudio7.0PacksatmelATtiny_DFP1.2.118gccdevattiny13" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<"
82: @echo Finished building: $<
Перестало билдиться именно при ребилде. Если откатить изменения, и сделать просто билд — всё работает.
Запускаю студию от администратора, т.е. с правами проблем нет. Да и по логике, если хватает прав удалить при clean файлы, то должно хватать и на создание.
Вообще, мне не совсем понятна фраза recipe for target ‘library.o’ failed.
Изменено 8 апреля, 2017 пользователем A1essandro
В настоящее время я не могу написать хороший make-файл и не знаю, почему.. -.-
Это мой main.c:
#include <windows.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("MEEEEEP");
return (0);
}
Это мой make-файл:
# make SYSTEM= OS= ENVIRONMENT=
# Binaries to use
ifeq ($(ENVIRONMENT),MINGW)
CXX = i686-pc-mingw32-g++
else
CXX = g++
endif
REMOVE = rm -vf
RC = windres
EXE = .exe
#############################################################
# Info
ifeq ($(CXX),g++)
INFO_CXX = g++ -dumpversion; g++ -dumpmachine
endif
#############################################################
# Flags
DEBUG = -DDEBUG -g
OPTIMIZATION = -O2 #-Winline -finline-functions
CFLAGS = -Wall -Wextra -W -static $(DEBUG) $(OPTIMIZATION) -D$(SYSTEM) -D$(OS) -D$(ENVIRONMENT) $(PRGFLAGS)
ifeq ($(SYSTEM),I686)
CFLAGS += -m32
ifeq ($(OS),WIN32)
CFLAGS += -D_WIN32
endif
ifeq ($(ENVIRONMENT),MINGW)
CFLAGS += -fexceptions
endif
endif
LFLAGS =
#############################################################
# Files
CFILES = main.c
OBJS = ${CFILES:.c=.o}
#############################################################
# Include
INCLUDES = -I.
#############################################################
# Library
LIBRARIES =
#############################################################
# Targets
.PHONY: all
all:
@echo == Standard build: make SYSTEM=I686 OS=WIN32 ENVIRONMENT=MINGW
@echo
@echo
make SYSTEM=I686 OS=WIN32 ENVIRONMENT=MINGW gyro
#############################################################
# Implicit rules and filename extensions...
.SUFFIXES: .h .o .c
.c.o: %.h
@echo Compiling $< for $(SYSTEM) $(OS) $(ENVIRONMENT) ...
@echo MEEP
$(CXX) $(CFLAGS) $(INCLUDES) -c $< -o $@
@echo MEEP2
#############################################################
# Target rules
gyro: $(OBJS)
@echo Building software for $(SYSTEM) ...
@echo
$(CXX) $(CFLAGS) $(LFLAGS) -o $@$(EXE) $(OBJS) $(LIBRARIES)
#############################################################
# Clean
.PHONY: clean
clean:
$(REMOVE) $(OBJS)
#############################################################
# Info
.PHONY: info
info:
@echo
@echo Information about C++ Compiler/Linker:
@echo
$(INFO_CXX)
Когда я набираю make gyro, я получаю вывод:
Compiling main.c for Windows_NT ...
MEEP
g++ -Wall -Wextra -W -static -DDEBUG -g -O2 -D -DWindows_NT -D -I. -c main.c -o main.o
makeNew.mak:83: recipe for target `main.o' failed
make: *** [main.o] Error 1
Но строка номер 83 находится позади .co: %.h. И я не понимаю, почему. У кого-нибудь есть решение для меня?
during compilation of a program its showing error that «line 28»,, G:aaMakefile.win
» recipe for target ‘main.o’ failed»
please help me how to debug it..
Jul 25 ’15
#1
Where did you get the makefile?
Jul 25 ’15
#2
its installed in that DEV C++ software
Jul 25 ’15
#3
The makefile is generated based on your project code. Without seeing your code for main(), I can’t say for sure but you may not have compiled correctly.
Generating an object file ( a .o) can fail if your code has errors.
Are there any other errors before this one?
Jul 25 ’15
#4
this is the makefile that is generated…
# Project: Project2
# Makefile created by Dev-C++ 5.11
CPP = g++.exe
CC = gcc.exe
WINDRES = windres.exe
OBJ = main.o
LINKOBJ = main.o
LIBS = -L»C:/Program Files (x86)/Dev-Cpp/MinGW64/lib» -L»C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/lib» -static-libgcc -pg
INCS = -I»C:/Program Files (x86)/Dev-Cpp/MinGW64/include» -I»C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include» -I»C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include»
CXXINCS = -I»C:/Program Files (x86)/Dev-Cpp/MinGW64/include» -I»C:/Program Files (x86)/Dev-Cpp/MinGW64/x86_64-w64-mingw32/include» -I»C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include» -I»C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/gcc/x86_64-w64-mingw32/4.9.2/include/c++»
BIN = Project2.exe
CXXFLAGS = $(CXXINCS) -ansi -fno-asm -traditional-cpp -pg
CFLAGS = $(INCS) -ansi -fno-asm -traditional-cpp -pg
RM = rm.exe -f
.PHONY: all all-before all-after clean clean-custom
all: all-before $(BIN) all-after
clean: clean-custom
${RM} $(OBJ) $(BIN)
$(BIN): $(OBJ)
$(CC) $(LINKOBJ) -o $(BIN) $(LIBS)
main.o: main.c
$(CC) -c main.c -o main.o $(CFLAGS)
Jul 26 ’15
#5
this line showing error…
main.o: main.c
$(CC) -c main.c -o main.o $(CFLAGS)
Jul 26 ’15
#6
All this tells me is that the error is in main.c. Generated makefiles like this one don’t fail because of errors in the makefile.
That is, errors in your code are causing this. This also means that you are getting more errors than the one you reported.
What does your main.c look like?
Jul 26 ’15
#7
this is my main function
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system(«pause») or input loop */
int main(int argc, char *argv[])
{
return 0;
}
Jul 26 ’15
#8
There are no errors in the code you posted. Is this the exact code you were compiling?
Jul 26 ’15
#9
yeah…while compiling the same program its showing that error…
Jul 27 ’15
#10
Maybe gcc.exe is not accessible with your current PATH.
try typing the offending command at the command prompt:
gcc.exe -c main.c -o main.o
This can’t succeed because it doesn’t include the CFLAGS, but the nature of the failure will tell you if gcc is running. That command line should succeed if you temporarily comment out the #includes in main.c.
Jul 27 ’15
#11
Maybe gcc.exe is not accessible with your current PATH.
try typing the offending command at the command prompt:
gcc.exe -c main.c -o main.o
This can’t succeed because it doesn’t include the CFLAGS, but the nature of the failure will tell you if gcc is running. That command line should succeed if you temporarily comment out the #includes in main.c.
Another possibility is that the long list of include paths makes the expanded command line too long for your shell.
Jul 27 ’15
#12
Sign in to post your reply or Sign up for a free account.
I am currently failing to write a good makefile and don’t know the reason why.. -.-
This is my main.c:
#include <windows.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("MEEEEEP");
return (0);
}
This is my makefile:
# make SYSTEM= OS= ENVIRONMENT=
# Binaries to use
ifeq ($(ENVIRONMENT),MINGW)
CXX = i686-pc-mingw32-g++
else
CXX = g++
endif
REMOVE = rm -vf
RC = windres
EXE = .exe
#############################################################
# Info
ifeq ($(CXX),g++)
INFO_CXX = g++ -dumpversion; g++ -dumpmachine
endif
#############################################################
# Flags
DEBUG = -DDEBUG -g
OPTIMIZATION = -O2 #-Winline -finline-functions
CFLAGS = -Wall -Wextra -W -static $(DEBUG) $(OPTIMIZATION) -D$(SYSTEM) -D$(OS) -D$(ENVIRONMENT) $(PRGFLAGS)
ifeq ($(SYSTEM),I686)
CFLAGS += -m32
ifeq ($(OS),WIN32)
CFLAGS += -D_WIN32
endif
ifeq ($(ENVIRONMENT),MINGW)
CFLAGS += -fexceptions
endif
endif
LFLAGS =
#############################################################
# Files
CFILES = main.c
OBJS = ${CFILES:.c=.o}
#############################################################
# Include
INCLUDES = -I.
#############################################################
# Library
LIBRARIES =
#############################################################
# Targets
.PHONY: all
all:
@echo == Standard build: make SYSTEM=I686 OS=WIN32 ENVIRONMENT=MINGW
@echo
@echo
make SYSTEM=I686 OS=WIN32 ENVIRONMENT=MINGW gyro
#############################################################
# Implicit rules and filename extensions...
.SUFFIXES: .h .o .c
.c.o: %.h
@echo Compiling $< for $(SYSTEM) $(OS) $(ENVIRONMENT) ...
@echo MEEP
$(CXX) $(CFLAGS) $(INCLUDES) -c $< -o $@
@echo MEEP2
#############################################################
# Target rules
gyro: $(OBJS)
@echo Building software for $(SYSTEM) ...
@echo
$(CXX) $(CFLAGS) $(LFLAGS) -o $@$(EXE) $(OBJS) $(LIBRARIES)
#############################################################
# Clean
.PHONY: clean
clean:
$(REMOVE) $(OBJS)
#############################################################
# Info
.PHONY: info
info:
@echo
@echo Information about C++ Compiler/Linker:
@echo
$(INFO_CXX)
When i type in make gyro,
i receive the output:
Compiling main.c for Windows_NT ...
MEEP
g++ -Wall -Wextra -W -static -DDEBUG -g -O2 -D -DWindows_NT -D -I. -c main.c -o main.o
makeNew.mak:83: recipe for target `main.o' failed
make: *** [main.o] Error 1
But Line number 83 is behind .c.o: %.h. And i don’t understand why.
Does anyone have a solution for me?
This question is related to
c
makefile
cygwin
You see the two empty -D
entries in the g++
command line? They’re causing the problem. You must have values in the -D
items e.g. -DWIN32
if you’re insistent on using something like -D$(SYSTEM) -D$(ENVIRONMENT) then you can use something like:
SYSTEM ?= generic
ENVIRONMENT ?= generic
in the makefile which gives them default values.
Your output looks to be missing the all important output:
<command-line>:0:1: error: macro names must be identifiers
<command-line>:0:1: error: macro names must be identifiers
just to clarify, what actually got sent to g++
was -D -DWindows_NT
, i.e. define a preprocessor macro called -DWindows_NT
; which is of course not a valid identifier (similarly for -D -I.
)
Offline
Зарегистрирован: 05.06.2016
Добрый день, коллеги.
Нужна помощь, а может, сторонний взгляд на проблему.
Итак, Создается некое устройство на основе ATMega328P. На борту часы реального времени DS1307, «выход в свет» должен обемпечить ethernet-шилд на базе WS5100. Поверх езернета планируется протокол MQTT.
Программная часть пишется в AtmelStudio 7. Для реализации проекта решил взять штатные ардуиновские библиотеки Wire.h и SPI.h. Импортировал в проект, не забыв полагающиеся *.срр.
При попытке компиляции был послан Студией куда-то далеко.
//Декларирование библиотек #include <avr/io.h> #include <Wire.h> //---------------------------------------------------------------- //Декларирование автозамены //Светодиоды-индикаторы #define LED_Ethernet_OK PD2 #define LED_Mosquitto_OK PD3 #define LED_NTP_OK PD5 //Макросы управления индикаторами #define LED_Ethernet_OK_ON() PORTD |= (1 << LED_Ethernet_OK) //Макрос включения #define LED_Ethernet_OK_OFF() PORTD &= ~(1 << LED_Ethernet_OK) //Макрос выключения #define LED_Mosquitto_OK_ON() PORTD |= (1 << LED_Mosquitto_OK) #define LED_Mosquitto_OK_OFF() PORTD &= ~(1 << LED_Mosquitto_OK) #define LED_NTP_OK_ON() PORTD |= (1 << LED_NTP_OK) #define LED_NTP_OK_OFF() PORTD &= ~(1 << LED_NTP_OK) //---------------------------------------------------------------------- int main(void) { //Конфигурирование портов DDRD |= (1 << LED_Ethernet_OK) | (1 << LED_Mosquitto_OK) | (1 << LED_NTP_OK); //Установка порта на выход PORTD &= ~(1 << PD6); //Установка порта на вход /* Replace with your application code */ while (1) { } }
Выданы следующие ошибки:
1. Severity Code Description Project File Line
Error Stream.h: No such file or directory NTP-MQTT_01 C:Program Files (x86)ArduinohardwarearduinoavrlibrariesWiresrcWire.h 26
2. Severity Code Description Project File Line
Error recipe for target ‘main.o’ failed NTP-MQTT_01 D:MicrocontrollerProjArduino_NTP-MQTTNTP-MQTT_01NTP-MQTT_01DebugMakefile 79
Запрашиваемый Stream.h нашел, импортировал в проект. Результат тот же.
Уважемые знающие — подскажите, что не так я делаю?
atmelstudioc++
I’m getting the error: recipe for target main.o failed. I’m currently programming for the ATmega 168BPB board, trying to run the following simple program:
int main(void)
{
DDRB = 0xFF;
PORTB = 1 << PORTB5;
while (1)
{
}
}
to just get the built-in LED to turn on.
Has anyone had any experience with this problem and/or knows how to solve it?
Best Solution
Try to turn off your antivirus : i’ve had that one with «Comodo internet security» After DISABLE «auto-containment», it starts working as expect (with no errors)… if it does any, you probably should add #include <avr/io.h>
to beginning of your code, this is will declare your CHIP architecture and prevent errors as like 'DDRB' undeclared
and same stuff.
#include <avr/io.h>
int main(void)
{
DDRB = 0xFF;
PORTB = 1 << PORTB5;
while (1)
{
}
}
Related Solutions
Cygwin – Makefile-error: recipe for target `main.o’ failed
You see the two empty -D
entries in the g++
command line? They’re causing the problem. You must have values in the -D
items e.g. -DWIN32
if you’re insistent on using something like -D$(SYSTEM) -D$(ENVIRONMENT) then you can use something like:
SYSTEM ?= generic
ENVIRONMENT ?= generic
in the makefile which gives them default values.
Your output looks to be missing the all important output:
<command-line>:0:1: error: macro names must be identifiers
<command-line>:0:1: error: macro names must be identifiers
just to clarify, what actually got sent to g++
was -D -DWindows_NT
, i.e. define a preprocessor macro called -DWindows_NT
; which is of course not a valid identifier (similarly for -D -I.
)
AVR studio Error “Got 0xc0, expected 0x00”
LOW fuse 0xFF means CKSEL3:0 bits are 0b1111.
That means the low power crystal oscillator is selected (please refer 10.4 on page 40 of the datasheet).
Low power oscillator could be unstable when driving 16 MHz crystal, and unable to drive a ceramic resonator more than 10 MHz. It may be very sensitive to the schematic implementation and noise. Instead of it, it is better to use full-swing oscillator (low fuse byte 0xF7).
Check schematic implementation, type of the resonator and capacitance on XTAL pins.
To restore ISP connectivity, you can unsolder the resonator, and apply about 1 MHz square wave on the XTAL1 pin (refer to 30.8 on page 339 of the datasheet).
Skip to main content
Welcome to EDAboard.com
Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals… and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
-
Digital Design and Embedded Programming
-
Microcontrollers
You should upgrade or use an alternative browser.
Atmel AVR Studio C programming
-
Thread startershomikc
-
Start dateNov 10, 2021
- Status
- Not open for further replies.
-
#1
- Joined
- Apr 19, 2013
- Messages
- 71
- Helped
- 0
- Reputation
-
0
- Reaction score
- 0
- Trophy points
- 1,286
- Activity points
-
1,951
I need to reverse an array, the first element of array being swapped with last and second element being swapped with second last and so on.
I am getting a recipe for target *.elf failed error.
Please help.
#include <avr/io.h>
//void swap (int *px, int *py);
void swap (char *px, char *py)
{
char temp;
temp = *px;
*px = *py;
*py = temp;
}
void reversal (char a[ ], char n)
{
char i, j, k;
j = n%2;
// n is the number of elements in the array
if (j == 1)
k = n + 1;
for (i = 0; i < (k)/2 ; i++)
{
swap (&a[i], &a[n - i - 1]);
}
/*for (i = 0; i < n ; i++)
{
printf("%d n",a[i] );
}*/
}
int main(void)
{
/* Replace with your application code */
char n = 5;
char a[5] = {1, 2, 3, 4, 5};
//reversal(a, n);
}
-
#2
- Joined
- Jul 6, 2014
- Messages
- 240
- Helped
- 0
- Reputation
-
98
- Reaction score
- 53
- Trophy points
- 1,308
- Location
-
West Coast
- Activity points
-
3,861
compiler not having the recipe for compiling for the chip you are using.
It may make a difference whether the source file is *.c or *.cpp.
Last edited: Nov 10, 2021
-
#3
FvM
Super Moderator
- Joined
- Jan 22, 2008
- Messages
- 51,225
- Helped
- 0
- Reputation
-
29,584
- Reaction score
- 13,801
- Trophy points
- 1,393
- Location
-
Bochum, Germany
- Activity points
-
292,789
-
#4
- Joined
- Apr 19, 2013
- Messages
- 71
- Helped
- 0
- Reputation
-
0
- Reaction score
- 0
- Trophy points
- 1,286
- Activity points
-
1,951
What AVR are you using ? The «recipe» error might refer to the
compiler not having the recipe for compiling for the chip you are using.
It may make a difference whether the source file is *.c or *.cpp.
Hi. I am using ATxmega128A1 to initialize the project and then I am using the Simulator tool as the debugger.
k isn’t initialized for even n values. For odd n values, the code superfluously swaps the center element with itself.
Yes, you are right but the code works in other C ide with int instead of char. so that isnt the problem.
-
#5
- Joined
- Jul 6, 2014
- Messages
- 240
- Helped
- 0
- Reputation
-
98
- Reaction score
- 53
- Trophy points
- 1,308
- Location
-
West Coast
- Activity points
-
3,861
-
#6
- Joined
- Apr 19, 2013
- Messages
- 71
- Helped
- 0
- Reputation
-
0
- Reaction score
- 0
- Trophy points
- 1,286
- Activity points
-
1,951
I compiled your code as a .c file in AVR Studio with the project using ATxmega128A1 with GCC, and it completed successfully, with 4 warnings, no errors.
Thankyou. But I am still not able to fix my error. my assembly files work okay. which version of avr studio are you using?
Thankyou. But I am still not able to fix my error. my assembly files work okay. which version of avr studio are you using?
Also can please send me the warnings.
Thankyou. But I am still not able to fix my error. my assembly files work okay. which version of avr studio are you using?— Updated Nov 11, 2021 —Also can please send me the warnings.
and do you have a header file of the controller in the dependencies.
Thankyou. But I am still not able to fix my error. my assembly files work okay. which version of avr studio are you using?— Updated Nov 11, 2021 —Also can please send me the warnings.
— Updated Nov 11, 2021 —and do you have a header file of the controller in the dependencies.
I get the same error even with just avr/io.h and just main() function. Now I get recipe for target main.o failed.
Last edited: Nov 11, 2021
-
#7
- Joined
- Jul 6, 2014
- Messages
- 240
- Helped
- 0
- Reputation
-
98
- Reaction score
- 53
- Trophy points
- 1,308
- Location
-
West Coast
- Activity points
-
3,861
The warning messages are:
Warning 1 array subscript has type ‘char’
Warning 2 unused variable ‘a’
Warning 3 unused variable ‘n’
Warning 4 ‘k’ may be used uninitialized in this function
Last edited: Nov 11, 2021
-
#8
- Joined
- Apr 17, 2014
- Messages
- 23,525
- Helped
- 0
- Reputation
-
9,543
- Reaction score
- 5,182
- Trophy points
- 1,393
- Activity points
-
156,068
Also can please send me the warnings.
This is what I expected from you…
Because I expected to make your code to work, not FenTrac’s code/compiler …
On the other hand maybe you’ve learned how important it is to give the errors/warnings for others to get a clue what’s going on.
Klaus
-
#9
- Joined
- Apr 19, 2013
- Messages
- 71
- Helped
- 0
- Reputation
-
0
- Reaction score
- 0
- Trophy points
- 1,286
- Activity points
-
1,951
-
#10
- Joined
- Dec 1, 2010
- Messages
- 2
- Helped
- 0
- Reputation
-
2
- Reaction score
- 0
- Trophy points
- 1,281
- Activity points
-
1,327
Hi. I would like to know if there is any other software to compile C programs for AVR microcontrollers other than AVR studio. Does MPLAB ide provide compilation of C programs forAVR microcontroller
XC8 with MPLab X will compile for AVR
-
#11
- Joined
- Apr 19, 2013
- Messages
- 71
- Helped
- 0
- Reputation
-
0
- Reaction score
- 0
- Trophy points
- 1,286
- Activity points
-
1,951
For the life of me I cannot understand the connection between windows defender and Microchip or Atmel Studio. The Assembler in Simulator mode works with Windows Defender on.
However I am still unable to print the result in The Output, for example, the maximum array.
If you can help with this.
Hi. I kind of figured it out. First we turn off windows defender and finally from Debug option we select Options and once there we select the appropriate Toolchain on the right hand of the pop up window. (It may be necessary to disable the antivirus also.)For the life of me I cannot understand the connection between windows defender and Microchip or Atmel Studio. The Assembler in Simulator mode works with Windows Defender on.
However I am still unable to print the result in The Output, for example, the maximum array.
If you can help with this.
Sorry, I meant maximum of an array. If anyone can give some guidance on this. I appreciate all the help given.
Last edited: Nov 14, 2021
-
#12
- Joined
- Jul 6, 2014
- Messages
- 240
- Helped
- 0
- Reputation
-
98
- Reaction score
- 53
- Trophy points
- 1,308
- Location
-
West Coast
- Activity points
-
3,861
-
#13
- Joined
- Apr 19, 2013
- Messages
- 71
- Helped
- 0
- Reputation
-
0
- Reaction score
- 0
- Trophy points
- 1,286
- Activity points
-
1,951
Using printf() with an AVR is complicated. Do a google search for more information on how to do it. Usually, output uses the USART on the AVR through a Serial interface to a terminal, such as a TTL to USB converter. Or, to a display such as a 16×2 LCD attached to the AVR.
yes. you are right and it is very complicated. I have tried with USART and not succeeded. thanks. I will keep trying.
-
#14
- Joined
- Jul 6, 2014
- Messages
- 240
- Helped
- 0
- Reputation
-
98
- Reaction score
- 53
- Trophy points
- 1,308
- Location
-
West Coast
- Activity points
-
3,861
C:
UCSR0A |= (1 << U2X0); // U2X0 = 1 = set double speed mode
UCSR0B = (1 << RXEN0) | (1 << TXEN0); // enable transmit, receive
UCSR0C = (1 << UCSZ01) | (1 << UCSZ00); // Use 8-bit character sizes
UBRR0 = 16; // load 115200 baud value into the UBRR0 register
//---------------------------------------------------------------------------------------
to send a byte:
UDR0 = a[i];
a[i] may need to have 0x30 added to it to print as the ascii character for a number on the terminal
The code for the AVR you are using will probably be similar.
Last edited: Nov 15, 2021
- Status
- Not open for further replies.
-
Digital Design and Embedded Programming
-
Microcontrollers
-
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.