Forum: Compiler & IDEs Makefile unter Windows 7


von Jäggi (Gast)


Lesenswert?

Hallo,

vorweg: Ich habe NULL Ahnung von Programmieren. Bitte 
Kindergartensprache benutzen, sonst verstehe ich kein Wort.

Ich habe ein kleines Testprojekt, das auf einen Teensy soll: 
https://www.pjrc.com/teensy/gcc.html
Dazu muss der Kram mit GCC kompiliert werden; WinAVR ist installiert, 
Windows 7 Pro 64bit.

Wie in aller Welt bekommt man das hin? Mit der Eingabekonsole, wie auf 
der Seite gezeigt, geht das nicht (ist auch XP). Da kommt nur "Zugriff 
verweigert". Wie geht das in WinAVR, oder braucht man das garnicht?

Wie gesagt, ich will keine makefile bearbeiten oder erstellen, sondern 
das Projekt kompilieren (ins .hex-Format), um den Teensy damit zu 
beliefern.......

von Marcus P. (marc2100)


Lesenswert?

Hi,
wenn du WinAVR richtig installiert hast, solltest du in der Konsole 
einfach make aufrufen können.
Versuch es doch mal in einem anderen Ordner, dort müsste sich make mit 
dem Fehler zurückmelden "make: *** Keine Targets angegeben und keine 
»make«-Steuerdatei gefunden.  Schluss."

Falls dort auch keine Meldung kommt, musst du dir wohl die 
WinAVR-Installation nochmal anschauen, falls du diese Meldung (in einem 
anderen Ordner bekommst), musst du dir die Berechtigungen ansehen, dann 
darfst du wohl nicht darauf zugreifen, was ja schon dein Fehler sagte.

von Jäggi (Gast)


Lesenswert?

Ganz genau, der Hinweis kommt auf englisch: No target specified and no 
makefile found. stop. Sinngemäß wohl identisch.

Es ist völlig egal, als welcher Benutzer oder in welchem Ordner ich das 
versuche, es wird immer der Zugriff verweigert. Vermutlich ein 
Windows-Problem (ich hätte bei Win XP bleiben sollen) und somit für 
einen IT-Experten.

Gibts dafür zur Not ein anderen Tool?

von Marcus P. (marc2100)


Angehängte Dateien:

Lesenswert?

ein anderes Tool dafür kenne ich auch nicht, ich habe dir mal die 
Version compiliert, und angehängt.

Im Übrigen ist der Sourcecode noch mit einer alten avr-gcc Version 
geschrieben/compiliert worden, unter der aktuellen V4.8.2 bekommt man 
erst mal einen haufen Fehler "must be const in order to be put into 
read-only section by means of ‘__attribute__((progmem))", da muss man 
erst den Code editieren.

von Jäggi (Gast)


Lesenswert?

Danke, leider bringt mir das nichts, weil das nur ein Test zum Einstieg 
sein soll.
Es müssen zukünftig noch weitere kompiliert werden, deswegen soll der 
Mist mal laufen......zum Mond fliegen können wir, aber an sowas 
scheiterts. ><

von Marcus P. (marc2100)


Lesenswert?

Das ist natürlich richtig, dann würde ich dir empfehlen hier mal das 
Tutorial durch zugehen, dabei lernt man schon ganz gut die Grundlagen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Jäggi schrieb:
> Ganz genau, der Hinweis kommt auf englisch: No target specified and no
> makefile found. stop. Sinngemäß wohl identisch.
>
> Es ist völlig egal, als welcher Benutzer oder in welchem Ordner ich das
> versuche, es wird immer der Zugriff verweigert.

Das erste heißt aber nicht "Zugriff verweigert".

In was für ein Verzeichnis hast Du Deinen Compiler installiert, und in 
was für einem Verzeichnis soll der seine temporären Dateien 
unterbringen? Was für ein Verzeichnis enthält Deinen Quelltext?

Windows fängt aus gutem Grund Schreibzugriffe in Verzeichnisse unterhalb 
von c:\Programme (sowohl "c:\program files" als auch "c:\program files 
(x86)") ab, daher darf dort keine Software hingepackt werden, die in 
diesem Verzeichnisbaum herumschreiben möchte.

Um make und Konsorten zu benutzen, ist das aber auch nicht nötig.

Der Pfad (die Umgebungsvariable "path") muss das Verzeichnis enthalten, 
das die ausführbaren Dateien Deines Compilers enthält (und make.exe 
etc.), der Include-Pfad und der Library-Pfad für den Compiler müssen 
korrekt gesetzt sein, und Du solltest in der "Eingabeaufforderung" (das 
ist das, was manche fälschlich "DOS-Box" nennen) jederzeit problemlos 
make & Co. aufrufen können.

Da diverse aus dem unixoiden Lager stammende Software (und auch etliche 
native Windows-Software) damit überfordert ist, empfiehlt es sich, 
sowohl für die Programminstallation als auch für den Ablageort eigener 
Quelltexte keine Verzeichnisse zu verwenden, deren Namen Leerzeichen 
enthalten.

Zwar ist das unter Windows seit der Einführung von Dateinamen möglich, 
aber das haben nach wie vor viele Programmierer nicht begriffen, also 
sollte man es vermeiden.

Installiere also Deinen Compiler etc. nicht unter "c:\Programme" (denn 
das enthält Leerzeichen, da es nämlich gar nicht "Programme", sondern 
"Program Files" heißt), sondern richte Dir da ein eigenes Verzeichnis 
wie z.B. c:\AVR o.ä. ein, und pack' Deine Quelltexte in ein anderes 
eigenes Verzeichnis wie c:\projekte.

Ansonsten helfen genauere Fehlerbeschreibungen. Windows ist zwar berühmt 
für nichtssagende Fehlermeldungen, aber Du bist besser als Windows.

von Jäggi (Gast)


Lesenswert?

Hallo,

WinAVR installiert sich standardmäßig nicht in den 
Windows-Programmordner, sondern legt sich einen eigenen Ordner unter C: 
an.
Außerdem scheinen Leerzeichen kein Hindernis zu sein, hier nochmal der 
Link, wo das Eingabefenster gezeigt wird: 
https://www.pjrc.com/teensy/gcc.html
Dort wird NUR "make" eingegeben, die restlichen Pfade, die Du noch 
nennst, sind nicht nötig (man kann mich korrigieren, da Anfänger)

Den Make-Befehl kann ich korrekt aufrufen, also z.B. in der Konsole 
c:>\Users\ich>make (mit mehreren Pfaden getestet), es kommt natürlich 
die o.g. Meldung, die Marcus beschrieben hat, weil nichts in dem Ordner 
zum kompilieren ist.

Navigiere ich zum Ordner, in dem die Files sind, kommt die Meldung 
"Zugriff verweigert". Also z.B. c:>\kuddelmuddel>make.

Nun hats geklappt: Mit c:\test>make wirds kompiliert. Sehr schön.

Man lernt nie aus, grummel......

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.