mikrocontroller.net

Forum: PC-Programmierung mit makefile kompilieren?


Autor: manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin,

Wie kann ich ein Makefile ausführen?
Geht das mit visual c++ 6, wenn ja wie muss ich das anstellen?
danke!

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das geht. Einerseits kann man ein Makefile in ein VC-Projekt 
überführen, andererseits kann man aber auch das Makefile in der 
Kommandozeile* ausführen lassen:

  cd c:\woauchimmer\mein\projekt\liegt

  nmake

oder

  nmake -f meinmakefile

(letzteres, wenn das Makefile nicht makefile heißt)

Das setzt voraus, daß %INCLUDE%, %LIB% und %PATH% korrekt gesetzt sind, 
das kann man unter anderem mit vcvars32.bat sicherstellen.
Das liegt in c:\woauchimmer\visualc\installiert\ist\..\VC98\BIN


*) Eingabeaufforderung. Oft fälschlich "Dos-Fenster" genannt.

Autor: manuel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habs versucht allerdings erhalte ich, nach dem kompilieren in der 
konsole immer folgende meldung: "pfad" ist aktuell.
Hab ich einen Fehler gemacht oder ist dass in ordnung?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein Projekt heißt "pfad"?

Du könntest nmake dazu bringen, das Projekt komplett neu zu übersetzen

  nmake -a

resp.

  nmake -a -f meinmakefile


PS: Das "dass" in Deinem letzten Satz wird auch trotz Rechtschreibreform 
mit einem "s" geschrieben.

Autor: Christoph __ (chris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wie so oft: Wenn du nicht beruflich dazu gezwungen bist, nimm nicht 
Visual Studio 6. Der C++-Compiler ist so uralt, dass das Programmieren 
damit wirklich keinen Spass mehr macht.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>  cd c:\woauchimmer\mein\projekt\liegt

Das da oben wechselt nur das aktuelle Verzeichnis für das Laufwerk C:. 
Wenn du auf einem anderen Laufwerk bist, bleibst du dort. Du mußt dann 
auch nach C: wechseln, um wirklich in das Verzeichnis zu kommen. Es gibt 
anscheinend nicht einfach nur ein aktuelles Verzeichnis, sondern eines 
pro Laufwerk und dann eben noch das aktuelle Laufwerk. Mit cd wechselt 
man nur das Verzeichnis, nicht das Laufwerk.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Diese Erkenntnis hatte ich als gegeben angesehen. Wer der Ansicht ist, 
mit mehreren Laufwerken/Partitionen arbeiten zu müssen, der sollte über 
so etwas auch Bescheid wissen.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin eher der Ansicht, daß die ganze Idee von Laufwerksbuchstaben 
unsinnig ist.

> Diese Erkenntnis hatte ich als gegeben angesehen.

Das kam nicht so ganz klar raus, denn wenn du eh schon auf dem Laufwerk 
bist, wo du den Pfad wechseln willst, brauchst du es nicht nochmal extra 
bei cd mit anzugeben.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Weißt Du, das war ein exemplarischer Pfad. Den der Proband durch seine 
auf seinem System vorliegenden Gegebenheiten ersetzen sollte. Was den 
Wechsel des Arbeitslaufwerks mit einschließt, sofern ein solcher nötig 
werden sollte.

Autor: Dennis B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin nun schon wieder seit Stunden am suchen und habe bis jetzt mit 
diesem Threat die besten Erfolge erzielt.

Ich versuche aus einem Makefile aus der SDL_gfx-2.0.17 eine .dll und 
eine .lib zu erzeugen.

In dem makefile steht u.a.:

# This makefile will build an SDL_gfx.dll with Visual C

# It was made for VC6 on Windows 98

#

# nmake should build the lot.

# .dll file goes in your system directory

# .lib and the .h files go into the searchpath of you compiler




Der Pfad zu der makedatei lautet:

C:\SDL_gfx-2.0.17

Der Pfad zu vcvars32.bat lautet:

E:\Microsoft Visual Studio\VC98\Bin

Ich rufe in der Kommandozeile zuerst den E:-Pfad auf und starte 
vcvars32.bat, danach gehe ich in den C:-Pfad und tippe nmake ein. (Ist 
das der richtige Ablauf oder ist hier schon ein Fehler drin?)

Danach bekomme ich die Fehlermeldung u1035.
Syntaxfehler ':' oder '=' erwartet. Ich suche echt schon seit Stunden wo 
der Fehler sein könnte. Auf der MSDN Seite stehen zwar mögliche 
Fehlerursachen, die mir aber nicht weiterhelfen. Hab echt schon sehr 
viel ausprobiert. Hab das makefile auch schon in andere Ordner kopiert, 
doch alles ohne Erfolg.

Würde mich echt über Hilfe freuen. Wenn ich irgendwas unklar geschrieben 
habe, reiche ich gerne alles was ihr wollt nach.

Gruß
Dennis

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Poste mal den ganzen Makefile. Deine Ausschnippsel da oben enthalten nur 
Kommentare^^

Autor: Dennis B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
# This makefile will build an SDL_gfx.dll with Visual C

# It was made for VC6 on Windows 98

#

# nmake should build the lot.

# .dll file goes in your system directory

# .lib and the .h files go into the searchpath of you compiler

#

# Edit this:

LIBSDL=C:\LIB\sdl.lib



# Leave the rest

CFLAGS=-DBUILD_DLL -DWIN32



.c.obj:
  $(CC) $(CFLAGS) -I. $(CPPFLAGS) -c $(<:/=\)


OBJS=SDL_framerate.obj SDL_gfxPrimitives.obj SDL_imageFilter.obj 
SDL_rotozoom.obj



SDL_gfx.dll: $(OBJS)

  cl $(OBJS) /link /dll /out:$@ $(LIBSDL)


clean:

  del *.obj

  del *.lib

  del *.exp

  del *.dll

Autor: Dennis B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier noch die Readme Datei zu dem o.g. Makefile:


Howto compile a SDL_gfx DLL on Windows with VisualC:

All that has to be done is drop the makefile in the SDL_gfx dir and
type "nmake". This assumes the VisualC environment variables have been 
set
up, which can be done with a batchfile named vcvars32.bat in VC's bin
dir.  There is no install target since it is never clear where things 
can
be found on Windows...



Der genaue Fehlertext lautet:

makefile(12) : fatal error U1035: Syntaxfehler: ':' oder '=' 
Trennzeichen erwartet


Gruß
Dennis

Autor: Tilo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
moin...
ich hoffe, das man mir hier weiterhelfen kann...

ich versuche auch gerade eine makefile zu compilieren. installiert hab 
ich als Prog VC++ 2008 express.
die makefile befindet sich in einem externen order (d.h. 
c:\build\makefile.vc)
diese versuche ich mit dem befehl nmake zu kompilieren. jedoch bekomm 
ich immer nur ne fehlermeldung, dass die makefile nicht gefunden werden 
kann...

was mach ich falsch?
danke schon mal...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.