moin, Wie kann ich ein Makefile ausführen? Geht das mit visual c++ 6, wenn ja wie muss ich das anstellen? danke!
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.
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?
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.
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.
> 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.
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.
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.
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.
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
Poste mal den ganzen Makefile. Deine Ausschnippsel da oben enthalten nur Kommentare^^
# 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
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
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...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.