logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Błąd kompilacji w WinAVR na laptopie - make.exe nie znajduje pliku

flapo213 29 Maj 2006 18:51 3669 23
REKLAMA
  • #1 2676471
    flapo213
    Poziom 21  
    Posty: 566
    Pomógł: 35
    Ocena: 10
    Witam mam taki problemik z programem WINAVR mianowicie wyskakuje mi taki błąd:
    > "make.exe" all
    avr-gcc -g -Wall -O2 -mmcu=atmega8 -c -o menu.o menu.c
    avr-gcc -g -Wall -O2 -mmcu=atmega8 -Wl,-Map,menu.map -o menu.elf menu.o
    avr-objdump -h -S menu.elf > menu.lst
    process_begin: CreateProcess((null), D:/Dokumenty Naukowe/Mikrokontrolery/Kompilatory zainstalowane/utils/bin/sh.exe -c "avr-objdump -h -S menu.elf > menu.lst", ...) failed.
    make (e=2): Nie można odnaleźć określonego pliku.

    make.exe: *** [menu.lst] Error 2

    > Process Exit Code: 2
    > Time Taken: 00:02

    Na drugim komputerze wszystko śmigaj jak należy programik się kompiluje itd. Działa bez zarzutu. Jeśli ktoś ma jakiś pomysł to będę wdzięczny dodam że błąd ten występuje na laptopie (system już postawiłem od nowa i nic to nie dało).
  • REKLAMA
  • #3 2679319
    flapo213
    Poziom 21  
    Posty: 566
    Pomógł: 35
    Ocena: 10
    Problem rozwiązano . Zainstaowano program w głównym katalogu Program Files oraz usunięto wszystkie możliwe wcześniejsze pliki (nie instalacje) już działa ok. Pozdrawiam
  • #4 2781081
    Matyk
    Poziom 11  
    Posty: 25
    Witam mam taki problemik z programem WinAVR mianowicie wyskakuje mi taki błąd:

    make.exe: *** No rule to make target `obj/main.o', needed by `testpp.elf'. Stop.

    > Process Exit Code: 2
    > Time Taken: 00:02

    Jeśli ktoś wiedział by jak się tego błędu pozbyć to był bym wdzięczny. Dodam jeszcze że próbowałem na innym komputerze, niestety z takim samym skutkiem.
  • #6 2788180
    Matyk
    Poziom 11  
    Posty: 25
    Makefile jest dość długi, zajmuje ponad 16 KB. Do jego stworzenia używałem programu MFile [WinAVR] który wchodził w skład pakietu WinAVR. Próbowałem z plikiem bez żadnych zmian(taki jaki był zaraz po otwarciu programu MFile, z prockiem atmega128), oraz z plikiem gdzie dokonałem zmian pod mojego procka, atmega16. niestety nie było żadnej różnicy. Prób dokonywałem na najprostszym programie, mającym za zadanie na przemian wystawiać dwie liczby na port. Chciałem w ten sposób sprawdzić czy wina nie leży czasem po stronie programu, no i nie leżała.

    Zamieszczam pod spodem plik Makefile na którym nie dało się dokonać kompilacji. Jeśli byś mógł rzucić na niego okiem mogło by się to może komuś przydać, gdyż widziałem już na elektrodzie pytanie o ten błąd ale bez odpowiedzi.

    Ja jestem początkujący i poszedłem na łatwiznę, mianowicie przerzuciłem się całkowicie na AVRStudio, pisze w nim i kompiluje bez problemu, obsługa jest intuicyjna, a środowisko przypomina mi inne które już znam :D, no i można symulować.

    Dodano po 13 [minuty]:

    Hehe... zapomniałem o pliku. A więcz amieszczam pod spodem plik Makefile na którym nie dało się dokonać kompilacji:
    Załączniki:
    • Makefile.txt (16.46 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #8 2789796
    Matyk
    Poziom 11  
    Posty: 25
    Niestety obawiam się że nie będzie to zbyt pomocne, gdyż już przedtem zamieściłem prawie cały log z kompilacji....

    Cały log:

    > "make.exe" all

    -------- begin --------
    avr-gcc (GCC) 3.4.6
    Copyright (C) 2006 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    make.exe: *** No rule to make target `obj/main.o', needed by `testpp.elf'. Stop.

    > Process Exit Code: 2
    > Time Taken: 00:01
  • REKLAMA
  • #9 2789865
    Robot_
    Poziom 18  
    Posty: 277
    Pomógł: 22
    ile plików masz w projekcie??
    I jak są połączone.
    Napisze więcej jak wróce do domu.

    pozdr
  • #10 2790104
    Matyk
    Poziom 11  
    Posty: 25
    Plików wchodzących w skład projektu jest 3:
    diody1.pnproj
    diody1.c
    Makefile

    Pliki diody1.c i Makefile są dodane do projektu diody1.pnproj, w Programmers Notepad wygląda to tak:

    . New Project Group
    . |
    . - diody1
    . . |-Makefile
    . . |-diody1.c

    Rozwiązanie tego problemu mi osobiście pewnie się już nie przyda, gdyż raczej zostanę przy AVRStudio. Dopiero stawiam pierwsze kroki w programowaniu mikrokontrolerów i szukam najwygodniejszego dla mnie środowiska. Ale w innym temacie znalazłem zapytanie o ten błąd bez odpowiedzi, więc może komuś się przyda rozwiązanie.
  • #11 2790399
    willyvmm
    Poziom 31  
    Posty: 1755
    Pomógł: 164
    Ocena: 357
    No to by wiele wyjaśniało ... w makefile masz zależność pliku wynikowego testcpp od main.cpp ...

    popraw sekcje kodu źródłowego i wynikowego:
    
    # Target file name (without extension).
    TARGET = testpp
    
    
    # Object files directory
    OBJDIR = obj
    
    
    # List C source files here. (C dependencies are automatically generated.)
    SRC =
    
    
    # List C++ source files here. (C dependencies are automatically generated.)
    CPPSRC = main.cpp
    

    na np taki:
    # Target file name (without extension).
    TARGET = diody_skompilowane
    
    
    # Object files directory
    OBJDIR = obj
    
    
    # List C source files here. (C dependencies are automatically generated.)
    SRC = diody1.c
    
    
    # List C++ source files here. (C dependencies are automatically generated.)
    CPPSRC = 
    


    i powinno śmigać. W wyniku powinieneś otrzmać kilka plików diody_skompilowane.*
    zgodnie z sekcją:
    # Default target.
    all: begin gccversion sizebefore build sizeafter end
    
    # Change the build target to build a HEX file or a library.
    build: elf hex eep lss sym

    Poadrawiam.
  • #12 2790593
    Darekg
    Poziom 17  
    Posty: 210
    Pomógł: 27
    Ocena: 11
    Ja mam problem innego rodzaju. Pracuję w konfiguracji WinAVR + AVRStudio. Do tej pory nie miałem żadnych problemów. Zmieniałem komputer i zainstalowałem na nowym kompie najpierw WinAVR a następnie AVRSTudio + wszystkie SP do niego. I teraz utraciłem możliwość kompilacji moich dotychczasowych projektów, jak i nowych. Projetnie kompiluje sie (na ekranie cisza), a w zakładce Messages pojawia się info:

    Temporary page buffer 128
    gcc plug-in: CProjectTree::OnSize()
    gcc plug-in: CProjectTree::OnSize()
    gcc plug-in: CProjectTree::OnSize()
    gcc plug-in: CProjectTree::OnSize()
    gcc plug-in: PlugInUtility::getExternalHeaderFiles Dependency directory does not exist
    gcc plug-in: PlugInUtility::getExternalHeaderFiles Dependency directory does not exist


    Wcześniej nie mialem taiego problemu. Możę ktoś wie, oco chodzi?
    Ścieżki do WinAVR mam dobrze ustawione w programie.
  • #13 2790738
    Matyk
    Poziom 11  
    Posty: 25
    Ja ze swojej strony chciałem podziękować willyvmm’owi za rozwiązanie problemu, zrobiłem jak sugerowałeś i działa, mimo wszystko zostanę jednak przy AVRStudio. Hex’y skompilowane przy jego pomocy działają dobrze, a lepiej się czuję w jego środowisku.

    Pozdrawiam
  • #14 2795195
    willyvmm
    Poziom 31  
    Posty: 1755
    Pomógł: 164
    Ocena: 357
    Darekg napisał:

    gcc plug-in: PlugInUtility::getExternalHeaderFiles Dependency directory does not exist
    gcc plug-in: PlugInUtility::getExternalHeaderFiles Dependency directory does not exist


    Komunikat mówi sam za siebie .. brakuje ci jakiegos potrzebnego katalogu. Z komunikatu wnioskuję że chodzi o jakiś z plikami nagłówkowymi pluginów(lub coś w tym stylu).
  • REKLAMA
  • #15 2797237
    Darekg
    Poziom 17  
    Posty: 210
    Pomógł: 27
    Ocena: 11
    No niby tak, ale przesprawdzałem instalację, wszystkie katalogi i doszedłem do tego iż mam wszystko tak samo, jak było na tym chodzącym komputerze.
    Więć nie mam się czego czepić.
  • REKLAMA
  • #16 2903030
    Karwas
    Poziom 14  
    Posty: 128
    Pomógł: 3
    Ocena: 36
    Hi,
    widzę że kolega willvmm zna się na WINAVR i może mi pomoże. Próbuje podłączyć kartę CF do Atmega162 jako pamięć zewnętrzną i .... nic. Komendy odczytu mam ściągnięte z kursu EP, ale nie wiem jak skonfigurować MAKEFILE do pamięci zewnętrznej. Jak to zrobić?
    Pozdrawiam
  • #17 2912894
    flapo213
    Poziom 21  
    Posty: 566
    Pomógł: 35
    Ocena: 10
    Temat zamykam. Ponowna instalacja programu Winavr z dobrymi ścieżkami dostępu rozwiązała problem. Widzę że temat sie troszeczkę rozrósł. Pozdrawiam
  • #18 3478701
    DooBLER
    Poziom 12  
    Posty: 82
    Pomógł: 1
    Ocena: 5
    Witam
    Ja również mam problem z WinAVR.

    Jeśli chodzi o mikrokontrolery to jestem całkowicie zielony...

    Wczoraj bez problemu programy się kompilowały, a dzisiaj dostaję tylko komunikat błędu:
    Cytat:
    > "make.exe" all
    MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
    Fatal: 'led.o' does not exist - don't know how to make it

    > Process Exit Code: 1
    > Time Taken: 00:00


    Poniżej plik *.c programu, na którym testowałem i plik makefile

    Pozdrawiam
    Załączniki:
    • Makefile.txt (1.77 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • led.c (1.09 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #19 3478739
    snow
    Poziom 31  
    Posty: 1825
    Pomógł: 178
    Ocena: 201
    Mi sie na twoim makefile'u nie chce kompilować natomiast na moim idzie bez problemu.

    Spróbuj przeedytowac pod swoje potrzeby może makefile z katalogu WinAVR\mfile\makefile_template.old i wgraj do katalogu z projektem jako makefile.
  • #20 3478892
    DooBLER
    Poziom 12  
    Posty: 82
    Pomógł: 1
    Ocena: 5
    Niestety też są błędy i nie do końca wiem co w tym pliku "poprzestawiać".
  • #21 3478903
    snow
    Poziom 31  
    Posty: 1825
    Pomógł: 178
    Ocena: 201
    Na tym sie kompiluje.
    Załączniki:
    • makefile.txt (13.9 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #22 3478914
    DooBLER
    Poziom 12  
    Posty: 82
    Pomógł: 1
    Ocena: 5
    Ehh tez się nie skompilowało.

    Wada leżała gdzieś w konfiguracji programu.
    Reinstalacja WinAVR rozwiązała problem.

    Dzięki snow za pomoc :)

    Pozdrawiam
  • #23 3479252
    ksz
    Poziom 15  
    Posty: 113
    Pomógł: 12
    DooBLER napisał:
    Ehh tez się nie skompilowało.

    Wada leżała gdzieś w konfiguracji programu.
    Reinstalacja WinAVR rozwiązała problem.

    Dzięki snow za pomoc :)

    Pozdrawiam


    Błąd był chyba taki, że po WinAVR zainstalowałeś Borland C++, on 'się dodał' do zmiennej systemowej PATH (ścieżki do katalogów z plikami wykonywalnymi), i jak wywoływałeś make.exe, to wywoływało się to Borlandowe.. Reinstalacja pomogła, bo teraz w PATH 'bliżej początku' jest ścieżka do WinAVR :) Sprawdź tylko, czy teraz będzie normalnie działać kompilowanie jakiegoś projektu w Borlandzie.. Ja bym w Makefile'u dla WinAVR podał pełną ścieżkę do make z WinAVR (standardowo chyba C:\WinAVR\utils\bin\make.exe )
  • #24 4211520
    wisnio
    Poziom 11  
    Posty: 6
    tak - to problem rozwiązany -
    w pliku WinAVR.xml ( /pn/tools ) dodajemy do make.exe ścieżkę gdzie się znajduje i jest ok...

    pozdrawiam

Podsumowanie tematu

✨ Problem dotyczył błędu kompilacji w środowisku WinAVR na laptopie, gdzie make.exe nie mógł odnaleźć pliku podczas wywołania polecenia avr-objdump. Błąd "make (e=2): Nie można odnaleźć określonego pliku" pojawiał się mimo reinstalacji systemu i WinAVR. Rozwiązaniem okazała się instalacja WinAVR w katalogu głównym (np. Program Files) oraz usunięcie pozostałości po wcześniejszych instalacjach. W innych przypadkach błędy kompilacji wynikały z niepoprawnej konfiguracji pliku Makefile, np. błędne wskazanie plików źródłowych lub zależności, co skutkowało komunikatem "No rule to make target". Zalecano poprawę sekcji SRC i CPPSRC w Makefile, dostosowanie nazw plików i katalogów obiektów. Wskazywano także na możliwe konflikty w zmiennej systemowej PATH, gdzie obecność innych wersji make.exe (np. Borland C++) mogła powodować problemy. W takich sytuacjach reinstalacja WinAVR i ustawienie ścieżek w pliku konfiguracyjnym WinAVR.xml rozwiązywały problem. Alternatywnie, niektórzy użytkownicy przeszli na środowisko AVRStudio, które oferuje intuicyjniejszą obsługę i stabilną kompilację. Dyskusja poruszała także kwestie konfiguracji projektów w Programmers Notepad oraz integracji z AVRStudio.
Wygenerowane przez model językowy.
REKLAMA