Ошибка 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

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии