probleme avec devkitpro (prog. GBA)
	
	
		Bonsoir,
Je ne sais pas si je suis au bon endroit pour poser ma question.
je commence dans la programmation en C/C++
je suis en train de suivre les cours de programmation de la GBA: http://gfx.developpez.com/prog-gba
au lieu d'utiliser devkitadvance , j'utilise devkitpro
pour le premier cours en modifiant le makefile:
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 
 |  
#
# Makefile for main.gba
#
PATH := $(DEVKITARM)/bin:$(PATH)
# --- Project details -------------------------------------------------
PROJ := main
TARGET := $(PROJ)
OBJS := $(PROJ).o
# --- Build defines ---------------------------------------------------
PREFIX := arm-none-eabi-
CC := $(PREFIX)gcc
LD := $(PREFIX)gcc
OBJCOPY := $(PREFIX)objcopy
ARCH := -mthumb-interwork -mthumb
SPECS := -specs=gba.specs
CFLAGS := $(ARCH) -O2 -Wall -fno-strict-aliasing
LDFLAGS := $(ARCH) $(SPECS)
.PHONY : build clean
# --- Build -----------------------------------------------------------
# Build process starts here!
build: $(TARGET).gba
# Strip and fix header (step 3,4)
$(TARGET).gba : $(TARGET).elf
		$(OBJCOPY) -v -O binary $< $@
		-@gbafix $@
# Link (step 2)
$(TARGET).elf : $(OBJS)
		$(LD) $^ $(LDFLAGS) -o $@
# Compile (step 1)
$(OBJS) : %.o : %.cpp
		$(CC) -c $< $(CFLAGS) -o $@
# --- Clean -----------------------------------------------------------
clean :
		@rm -fv *.gba
		@rm -fv *.elf
		@rm -fv *.o
#EOF | 
 puisque j'arrive à le compiler 
	Code:
	
| 12
 3
 4
 5
 6
 
 |  
arm-none-eabi-gcc -c main.cpp -mthumb-interwork -mthumb -O2 -Wall -fno-strict-aliasing -o main.o
arm-none-eabi-gcc main.o -mthumb-interwork -mthumb -specs=gba.specs -o main.elf
arm-none-eabi-objcopy -v -O binary main.elf main.gba
copy from `main.elf' [elf32-littlearm] to `main.gba' [binary]
ROM fixed! | 
 pour le cours 2 avec le meme makefile:
dans main.cpp en modifiant(sinon je ne pouvvais pas compiler):
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 
 |  
void flipBuffers()
{
  if (*mode & BACKBUFFER)
  {
    *mode &= ~BACKBUFFER;
    videoBackBuffer;
  } else {
    *mode |= BACKBUFFER;
    videoFrontBuffer;
  }
 
} // fin flipBuffers() | 
 le programme compile bien malgre des warning:
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 
 |  
arm-none-eabi-gcc -c main.cpp -mthumb-interwork -mthumb -O2 -Wall -fno-strict-aliasing -o main.o
main.cpp: In function 'void flipBuffers()':
main.cpp:17:31: warning: statement has no effect [-Wunused-value]
 #define videoBackBuffer       (u16*) 0x600A000
                               ^~~~~~~~~~~~~~~~
main.cpp:95:5: note: in expansion of macro 'videoBackBuffer'
     videoBackBuffer;
     ^~~~~~~~~~~~~~~
main.cpp:16:31: warning: statement has no effect [-Wunused-value]
 #define videoFrontBuffer      (u16*) 0x6000000
                               ^~~~~~~~~~~~~~~~
main.cpp:98:5: note: in expansion of macro 'videoFrontBuffer'
     videoFrontBuffer;
     ^~~~~~~~~~~~~~~~
arm-none-eabi-gcc main.o -mthumb-interwork -mthumb -specs=gba.specs -o main.elf
arm-none-eabi-objcopy -v -O binary main.elf main.gba
copy from `main.elf' [elf32-littlearm] to `main.gba' [binary]
ROM fixed! | 
 pour le cours 3 (compilation impossible) avec le makefile:
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 
 |  
#
# cours3
# 
 
PATH := $(DEVKITARM)/bin:$(PATH)
 
# --- Project details -------------------------------------------------
 
PROJ    := main
TITLE   := $(PROJ)
 
COBJS   := $(PROJ).o fastrandom.o
 
OBJS	:= $(COBJS)
 
# --- boot type (MB=0 : normal. MB=1 : multiboot) ---
 
MB = 0
 
ifeq ($(MB),1)
 
TARGET	:= $(PROJ).mb
SPECS	:= -specs=gba_mb.specs
 
else
 
TARGET	:= $(PROJ)
SPECS	:= -specs=gba.specs
 
endif
 
# --- Compiling -------------------------------------------------------
 
CROSS	?= arm-none-eabi-
AS		:= $(CROSS)as
CC		:= $(CROSS)gcc
LD		:= $(CROSS)gcc
OBJCOPY	:= $(CROSS)objcopy
 
 
ARCH	:= -mthumb-interwork -mthumb
 
ASFLAGS	:= -mthumb-interwork
CFLAGS	:= $(ARCH) -O2 -Wall -fno-strict-aliasing
LDFLAGS	:= $(ARCH) $(SPECS)
 
.PHONY : build clean
 
# --- Build -----------------------------------------------------------
 
build : $(TARGET).gba
 
 
$(TARGET).gba : $(TARGET).elf
	$(OBJCOPY) -v -O binary $< $@
	-@gbafix $@ -t$(TITLE)
 
$(TARGET).elf : $(OBJS)
	$(LD) $^ $(LDFLAGS) -o $@
 
$(COBJS) : %.o : %.cpp
	$(CC) $(CFLAGS) -c $< -o $@
 
# --- Clean -----------------------------------------------------------
 
clean : 
	@rm -fv *.gba
	@rm -fv *.elf
	@rm -fv *.o
 
#EOF | 
 sortie compilation
	Code:
	
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 
 |  
arm-none-eabi-gcc main.o fastrandom.o -mthumb-interwork -mthumb -specs=gba.specs -o main.elf
/home/name/devkit/devkitARM/lib/gcc/arm-none-eabi/8.2.0/../../../../arm-none-eabi/bin/ld: main.o: in function `bilinearInterpolation(grid2d*)':
main.cpp:(.text+0xb4): undefined reference to `operator new[](unsigned int)'
/home/name/devkit/devkitARM/lib/gcc/arm-none-eabi/8.2.0/../../../../arm-none-eabi/bin/ld: main.cpp:(.text+0x10a): undefined reference to `operator delete[](void*)'
/home/name/devkit/devkitARM/lib/gcc/arm-none-eabi/8.2.0/../../../../arm-none-eabi/bin/ld: main.o: in function `freeGrid(grid2d*)':
main.cpp:(.text+0x334): undefined reference to `operator delete[](void*)'
/home/name/devkit/devkitARM/lib/gcc/arm-none-eabi/8.2.0/../../../../arm-none-eabi/bin/ld: main.o: in function `initGrid(int, int)':
main.cpp:(.text+0x348): undefined reference to `operator new(unsigned int)'
/home/name/devkit/devkitARM/lib/gcc/arm-none-eabi/8.2.0/../../../../arm-none-eabi/bin/ld: main.cpp:(.text+0x356): undefined reference to `operator new[](unsigned int)'
/home/name/devkit/devkitARM/lib/gcc/arm-none-eabi/8.2.0/../../../../arm-none-eabi/bin/ld: main.o: in function `createPlasma(int, double, double)':
main.cpp:(.text+0x416): undefined reference to `pow'
/home/name/devkit/devkitARM/lib/gcc/arm-none-eabi/8.2.0/../../../../arm-none-eabi/bin/ld: main.o: in function `main':
main.cpp:(.text.startup+0x80): undefined reference to `operator delete[](void*)'
/home/name/devkit/devkitARM/lib/gcc/arm-none-eabi/8.2.0/../../../../arm-none-eabi/bin/ld: main.cpp:(.text.startup+0x88): undefined reference to `operator delete(void*, unsigned int)'
collect2: error: ld returned 1 exit status
Makefile:59: recipe for target 'main.elf' failed
make: *** [main.elf] Error 1 | 
 je ne comprends pas ces erreurs.
Merci de votre aide
ps: j'avais voulu aussi essayer  
https://github.com/uli/dragonbasic sous linux
dans le dossier examples quand je fais un make, voici le message:
	Code:
	
| 12
 3
 4
 5
 
 |  
cd breakout; ../../dbc -sym breakout.dbc breakout.gba
Segmentation fault (core dumped)
Makefile:26: recipe for target 'breakout/breakout.gba' failed
make: *** [breakout/breakout.gba] Error 139 |