Ошибка recipe for target main o failed

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. Показов 20791. Ответов 16

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Помогите разобраться где косяк
Atmel Studio 7 выдает сообщения (из 18 ошибок остались 2) , в том числе: recipe for target ‘main.o’ failed
по двум кликам перехожу из main.c в makefile, в строку <<===<

C
1
2
3
4
5
./%.o: .././%.c
        @echo Building file: $<                    <<===<
        @echo Invoking: AVR/GNU C Compiler : 5.4.0
        $(QUOTE)C:Program Files (x86)AtmelStudio7.0toolchainavr8avr8-gnu-toolchainbinavr-gcc.exe$(QUOTE)  -x c -funsigned-char -funsigned-bitfields -DDEBUG  -I"C:Program Files (x86)AtmelStudio7.0PacksatmelATtiny_DFP1.3.172include" -I"../Config" -I"../examples/include" -I"../include" -I"../utils" -I"../utils/assembler" -I".." -I"../documentation" -I"../qtouch" -I"../qtouch/datastreamer" -I"../qtouch/include"  -O1 -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny1616 -B "C:Program Files (x86)AtmelStudio7.0PacksatmelATtiny_DFP1.3.172gccdevattiny1616" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)"   -o "$@" "$<" 
        @echo Finished building: $<

м.б. удалить этот » makefile» ?
ведь в Atmel Studio 7 он кажется не нужен

Добавлено через 5 часов 25 минут
А я не слишком сложный вопрос задал?



0



0 / 0 / 0

Регистрация: 04.06.2018

Сообщений: 16

07.06.2018, 14:20

 [ТС]

2

аууу!!!
есть кто разбирается Atmel Studio 7?



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-х:
Error recipe for target ‘main.o’ failed
Error too few arguments to function ‘uart_init’

Что делать дальше не знаю.
Во вложении — код main.c, лог сборки и скрин Atmel Studio 7.

Где копать? Заранее благодарю за помощь.

Миниатюры

Recipe for target 'main.o' failed
 



0



594 / 357 / 67

Регистрация: 21.09.2008

Сообщений: 1,224

07.12.2019, 20:46

14

Реализация функции uart_init() где?



0



0 / 0 / 0

Регистрация: 13.04.2017

Сообщений: 41

08.12.2019, 11:10

15

Цитата
Сообщение от sharpey
Посмотреть сообщение

Реализация функции uart_init() где?

В библиотеке uart.h: void uart_init(void);
Больше тут.



0



Модератор

Эксперт по электронике

8811 / 6593 / 896

Регистрация: 14.02.2011

Сообщений: 23,189

08.12.2019, 14:14

16

Цитата
Сообщение от cadil_cib
Посмотреть сообщение

В библиотеке uart.h: void uart_init(void);

это не реализация, это объявление
и файлы с расширением .h никогда библиотеками не являлись, это файлы расширения(заголовочные файлы)



0



0 / 0 / 0

Регистрация: 13.04.2017

Сообщений: 41

16.12.2019, 12:56

17

Решение проблемы есть тут.



0



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$

Get the Reddit app

Scan this QR code to download the app now

Or check it out in the app stores

Форум РадиоКот • Просмотр темы — Ошибка 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
Сообщений: 197

Рейтинг сообщения: 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
Сообщений: 197

Рейтинг сообщения: 0

Собственно проблема оказалась в подключении #include. Тема закрыта.

Вернуться наверх
Реклама

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Понравилась статья? Поделить с друзьями:
  • Ошибка received string length longer than maximum allowed
  • Ошибка reference by pointer windows 10
  • Ошибка reboot и не могу зайти в биос
  • Ошибка ref в excel впр
  • Ошибка reboot insert boot media in selected