amiga-news DEUTSCHE VERSION
.
Links| Forums| Comments| Report news
.
Chat| Polls| Newsticker| Archive
.

amiga-news.de Forum > Programmierung > OS4 SDK: Seltsamer Unterschied zw. make und gmake [ - Search - New posts - Register - Login - ]

-1- [ - Post reply - ]

2010-12-12, 11:39 h

Reth
Posts: 1858
User
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

[ - Answer - Quote - Direct link - ]

2010-12-12, 11:56 h

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

[ - Answer - Quote - Direct link - ]

2010-12-12, 16:58 h

Polluks
Posts: 105
User
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

[ - Answer - Quote - Direct link - ]

2010-12-13, 10:48 h

Thore
Posts: 2266
User
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.

[ - Answer - Quote - Direct link - ]


-1- [ - Post reply - ]


amiga-news.de Forum > Programmierung > OS4 SDK: Seltsamer Unterschied zw. make und gmake [ - Search - New posts - Register - Login - ]


.
Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved.
.