Hallo,
ich hoffe mal ich bin hier im richtigen Bereich gelandet. Ich habe ein C++ Programm (geschrieben unter Linux in Eclipse) das mit einem makefile erstellt wird. Ich möchte jetzt dieses Programm zu Windows transportieren. Also Eclipse für Windows installiert und den cygwin Compiler dazu.
Jetzt habe ich mein makefile, das unter Linux traumhaft läuft:
Wenn ich dieses File jetzt unter Windows benutze, jammert der Compiler rum er würde /home/olsk/.... (die DATEIEN von oben)
nicht finden. $(HOME) habe ich unter Linux verwenden können. Da ist mein Homeverzeichnis /home/olsk/ mit dem workspace Verzeichnis und dem obj Verzeichnis drin.
kann Windows das nicht interpretieren??? Und wieso weiß Windows meinen Linux Home Pfad??? Den habe ich nicht angegeben.
Die Versuche $(HOME) mit D:/eclipse/ und auch "D:/eclipse/" zu ersetzen schlugen fehl.
Dann folgte die Meldung ***target pattern contains no `%'. Stop.
Googlen half diesbezüglich auch nichts, da Antworten waren immer mehr als dürftig oder auf andere Probleme zurückzuführen.
Wo liegt mein Problem. Kann mir jemand einen Tipp geben??? Danke
ich hoffe mal ich bin hier im richtigen Bereich gelandet. Ich habe ein C++ Programm (geschrieben unter Linux in Eclipse) das mit einem makefile erstellt wird. Ich möchte jetzt dieses Programm zu Windows transportieren. Also Eclipse für Windows installiert und den cygwin Compiler dazu.
Jetzt habe ich mein makefile, das unter Linux traumhaft läuft:
Code:
PROJEKT:=h8flash CC:=g++ SIZE:=size OBJCOPY:=objcopy INCLUDE:=$(HOME)/workspace ZW_VERZ:=$(HOME)/obj/$(PROJEKT) # Variable f�r die Obj-Dateien PROJEKT_VERZ:=$(HOME)/workspace/$(PROJEKT) # Variable f�r den C_Code Pfadnamen #ZW_VERZ:=$(PROJEKT_VERZ) STD_VERZ:=$(INCLUDE)/std # Variable f�r die Standardroutinen optionen= -I$(INCLUDE) -g -fshort-enums -Os -Wunused -Wshadow -Wswitch -Wparentheses -Wall -W -Werror DATEIEN:=$(ZW_VERZ)/flash.o\ $(ZW_VERZ)/protokoll.o\ $(ZW_VERZ)/crc32.o\ $(ZW_VERZ)/SerialStream.o\ $(ZW_VERZ)/SerialStreamBuf.o\ $(PROJEKT_VERZ)/$(PROJEKT) : $(ZW_VERZ)/$(PROJEKT) cp $< $@ $(ZW_VERZ)/$(PROJEKT): $(DATEIEN) makefile $(CC) $(CONTROLLER) -WL, -Wl,-O1 -o $@ \ $(DATEIEN)\ # libc\ # libc++ $(ZW_VERZ)/%.o : $(PROJEKT_VERZ)/%.cpp $(ZW_VERZ)/%.d makefile $(CC) -c -o $@ $(optionen) $< $(ZW_VERZ)/%.d : $(PROJEKT_VERZ)/%.cpp $(CC) $(optionen) -MM $< \ | sed 's|\($*\)\.o[ :]*|\1.o $@ : |g' > $@; \ [ -s $@ ] || rm -f $@ $(ZW_VERZ)/%.o : $(STD_VERZ)/%.cpp $(ZW_VERZ)/%.d makefile $(CC) -c -o $@ $(optionen) $< $(ZW_VERZ)/%.d : $(STD_VERZ)/%.cpp $(CC) $(optionen) -MM $< \ | sed 's|\($*\)\.o[ :]*|\1.o $@ : |g' > $@; \ [ -s $@ ] || rm -f $@ include $(DATEIEN:$(ZW_VERZ)/%.o=$(ZW_VERZ)/%.d) all : $(PROJEKT_VERZ)/$(PROJEKT) clean : rm $(ZW_VERZ)/*.o rm $(ZW_VERZ)/*.d install : mkdir $(ZW_VERZ)
nicht finden. $(HOME) habe ich unter Linux verwenden können. Da ist mein Homeverzeichnis /home/olsk/ mit dem workspace Verzeichnis und dem obj Verzeichnis drin.
kann Windows das nicht interpretieren??? Und wieso weiß Windows meinen Linux Home Pfad??? Den habe ich nicht angegeben.
Die Versuche $(HOME) mit D:/eclipse/ und auch "D:/eclipse/" zu ersetzen schlugen fehl.
Dann folgte die Meldung ***target pattern contains no `%'. Stop.
Googlen half diesbezüglich auch nichts, da Antworten waren immer mehr als dürftig oder auf andere Probleme zurückzuführen.
Wo liegt mein Problem. Kann mir jemand einen Tipp geben??? Danke
Comment