amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > OS4 SDK: Seltsamer Unterschied zw. make und gmake [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

12.12.2010, 11:39 Uhr

Reth
Posts: 1858
Nutzer
Hallo zusammen,

probiere immer noch den SDL-Port, diesmal aus Codebench heraus. Wenn ich dieselben Sourcen mit u.a. makefile einmal mit make und einmal mit gmake compiliere ergibt das unterschiedliche Ausgaben und Fehlermeldungen (kann leider die Buildlogs hier nicht posten, wird zuviel)! Woran kann das liegen? Bei Aufruf beider Kommandos wird dieselbe GNU make Version ausgegeben, egal ob unter Amiga-Shell oder sh!

Seltsam finde ich bei den Fehlermeldungen die vielen undefined references auf std::string, new, delete usw., sowie die auf die SDL-Funktionen (die libs sind ja angegeben)!

Bei gmake kommen noch mehr Probleme hinzu, dort wird von SDL_Image nach WORK: verlangt, weil irgendwelche Sourcen da gesucht werden (hier mal ne Snoopy-Ausgabe):
DOS code:
01203 : Build Process   : FAIL = Lock("Work:SDL_image-1.2.10/IMG_jpg.c",SHARED) [3383964uS]


Hier mal mein Makefile:
C code:
#
# Makefile generated by:
# CodeBench 0.13
#
# Project: GigaLoMania
#
# Created on: 25-11-2010 22:54:29
#
#

CC = SDK:gcc/bin/gcc

OBJ_DIR = obj

OBJ = 
	 $(OBJ_DIR)/game.opp $(OBJ_DIR)/gamestate.opp $(OBJ_DIR)/gui.opp 
	 $(OBJ_DIR)/image.opp $(OBJ_DIR)/main.opp $(OBJ_DIR)/panel.opp 
	 $(OBJ_DIR)/player.opp $(OBJ_DIR)/resource.opp $(OBJ_DIR)/screen.opp 
	 $(OBJ_DIR)/SDL_main.o $(OBJ_DIR)/sector.opp $(OBJ_DIR)/utils.opp
# -- Original	 $(OBJ_DIR)/sound.opp 
# -- Original	 $(OBJ_DIR)/utils.opp

BIN = GigaLoMania

INCPATH = -I. -Iheader -ISDK: -ISDK:Local/newlib/include/SDL/ -ISDK:Local/common/include/SDL/

CFLAGS = -Wall $(INCPATH)

LDFLAGS = 

LIBS = -lSDL -lSDL_image
#	add any extra linker libraries you want here

.PHONY: all all-before all-after clean clean-custom

all: all-before $(BIN) all-after

all-before:
#	You can add rules here to execute before the project is built

all-after:
#	You can add rules here to execute after the project is built

clean: clean-custom
	rm $(OBJ) $(BIN)

$(BIN): $(OBJ)
	$(CC) $(OBJ) $(LIBS) -o $(BIN) $(CFLAGS) $(LDFLAGS)

$(OBJ_DIR)/game.opp: src/game.cpp
	$(CC) -c src/game.cpp -o $(OBJ_DIR)/game.opp $(CFLAGS)

$(OBJ_DIR)/gamestate.opp: src/gamestate.cpp
	$(CC) -c src/gamestate.cpp -o $(OBJ_DIR)/gamestate.opp $(CFLAGS)

$(OBJ_DIR)/gui.opp: src/gui.cpp
	$(CC) -c src/gui.cpp -o $(OBJ_DIR)/gui.opp $(CFLAGS)

$(OBJ_DIR)/image.opp: src/image.cpp
	$(CC) -c src/image.cpp -o $(OBJ_DIR)/image.opp $(CFLAGS)

$(OBJ_DIR)/main.opp: src/main.cpp
	$(CC) -c src/main.cpp -o $(OBJ_DIR)/main.opp $(CFLAGS)

$(OBJ_DIR)/panel.opp: src/panel.cpp
	$(CC) -c src/panel.cpp -o $(OBJ_DIR)/panel.opp $(CFLAGS)

$(OBJ_DIR)/player.opp: src/player.cpp
	$(CC) -c src/player.cpp -o $(OBJ_DIR)/player.opp $(CFLAGS)

$(OBJ_DIR)/resource.opp: src/resource.cpp
	$(CC) -c src/resource.cpp -o $(OBJ_DIR)/resource.opp $(CFLAGS)

$(OBJ_DIR)/screen.opp: src/screen.cpp
	$(CC) -c src/screen.cpp -o $(OBJ_DIR)/screen.opp $(CFLAGS)

$(OBJ_DIR)/SDL_main.o: src/SDL_main.c
	$(CC) -c src/SDL_main.c -o $(OBJ_DIR)/SDL_main.o $(CFLAGS)

$(OBJ_DIR)/sector.opp: src/sector.cpp
	$(CC) -c src/sector.cpp -o $(OBJ_DIR)/sector.opp $(CFLAGS)

# -- Original $(OBJ_DIR)/sound.opp: src/sound.cpp
# -- Original	$(CC) -c src/sound.cpp -o $(OBJ_DIR)/sound.opp $(CFLAGS)

$(OBJ_DIR)/utils.opp: src/utils.cpp
	$(CC) -c src/utils.cpp -o $(OBJ_DIR)/utils.opp $(CFLAGS)


Mich nervt das langsam total, weil ichs nicht verstehe!

Bin für jede Hilfe dankbar!

Ciao

[ - Antworten - Zitieren - Direktlink - ]

12.12.2010, 11:56 Uhr

ZeroG
Posts: 1487
Nutzer
@Reth:
Lese doch mal die Anleitung zur os4 make/gmake Version...
SDK:Documentation/Tools/Make/README.AmigaOS

[ - Antworten - Zitieren - Direktlink - ]

12.12.2010, 16:58 Uhr

Polluks
Posts: 106
Nutzer
Vielleicht erstmal ein SDL-Hello-World nehmen,
um die Funktionalität des SDK sicherzustellen.
http://www.der-webdesigner.net/tutorials/sonstige/informatik/312-c-und-die-simple-directmedia-library-sdl.html

@ZeroG:
"lies" :P
--
Pegasos II G4, MorphOS 2.7
Power Mac G3, OSX 10.3

[ - Antworten - Zitieren - Direktlink - ]

13.12.2010, 10:48 Uhr

Thore
Posts: 2266
Nutzer
Wenn Du die Includes und die Libs richtig eingebunden hast, aber immer noch undefined References kommt, passen deine LinkLibs von der Version des Compilers nicht.
Hol Dir mal die SDL Sourcen und bau die Libs mit deiner gcc Version neu.
Probier dann deine selbstgebauten Libs aus.

Gleiches Problem hatte ich auch woanders, recompile war die Lösung bei mir.

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > OS4 SDK: Seltsamer Unterschied zw. make und gmake [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.