#53783 - Sephiroth87 - Sun Sep 11, 2005 10:10 pm
i've tried to install these libs, to see how they works, and if it's simplier to code...
howewer, when running install.bat, i get tons of error, like parse error before variable definitions...
i'm using the latest verion (0.5c maybye...)
any suggestion?
#53822 - Mollusk - Mon Sep 12, 2005 7:06 am
Now that's weird...
Think you could copy/paste part of the error here ?
You could also check out on http://teamnnc.free.fr/phpBB2/portal.php if there's something. (Arog's tutorials might help)
#53833 - Sephiroth87 - Mon Sep 12, 2005 12:49 pm
Code: |
In file included from c:/ndsdev/PAlib/lib/arm7/../../include/NDS/PA7.h:13,
from c:/ndsdev/PAlib/lib/arm7/PA.c:1:
c:/ndsdev/PAlib/lib/arm7/../../include/NDS/arm7/PA_Sound.h:27: error: parse error before "PA_SoundOk"
c:/ndsdev/PAlib/lib/arm7/../../include/NDS/arm7/PA_Sound.h:27: warning: type defaults to 'int' in declaration of 'PA_SoundOk'
c:/ndsdev/PAlib/lib/arm7/../../include/NDS/arm7/PA_Sound.h:27: warning: data definition has no type or storage class
|
other error are similar to this, and after a few of them, the installation exit...
#53835 - Mollusk - Mon Sep 12, 2005 1:48 pm
The latest versions (from .42 and up) are made to work with devkitpro, and devkitpro only. (not ndsdev)
I would recommend Aaron Rogers' tutorials.
#53854 - Sephiroth87 - Mon Sep 12, 2005 7:39 pm
ok, i'll try that...
#53877 - Sephiroth87 - Mon Sep 12, 2005 10:39 pm
whoa, that works :P
now, i need to modify my makefile to include palib .h, cause how it is now it doesn't work...
here's my current makefile...
Code: |
#---------------------------------------------------------------------------------
.SUFFIXES:
#---------------------------------------------------------------------------------
#---------------------------------------------------------------------------------
# TARGET is the name of the output, if this ends with _mb generates a multiboot image
# BUILD is the directory where object files & intermediate files will be placed
# SOURCES is a list of directories containing source code
# INCLUDES is a list of directories containing extra header files
#---------------------------------------------------------------------------------
TOOLDIR := $(NDSLIBPATH)/examples/tools
TARGET := template
BUILD := build
SOURCES := gfx source data
INCLUDES := include build
ICON := sephiroth.bin
ARM7BIN := ../../arm7/arm7.bin
#---------------------------------------------------------------------------------
# options for code generation
#---------------------------------------------------------------------------------
ARCH := -mthumb-interwork
# note: arm9tdmi isn't the correct CPU arch, but anything newer and LD
# *insists* it has a FPU or VFP, and it won't take no for an answer!
CFLAGS := -g -Wall -O2\
-mcpu=arm9tdmi -mtune=arm9tdmi -fomit-frame-pointer\
-ffast-math \
$(ARCH)
CFLAGS += $(INCLUDE) -DARM9
ASFLAGS := -g $(ARCH)
LDFLAGS := -g $(ARCH) -mno-fpu
#---------------------------------------------------------------------------------
# path to tools - this can be deleted if you set the path in windows
#---------------------------------------------------------------------------------
# export PATH := /d/dev/ds/devkitARM_r11/bin:/bin
#---------------------------------------------------------------------------------
# PATH to ndslib - just make a system variable called NDSLIBPATH and be done with it
#---------------------------------------------------------------------------------
# NDSLIBPATH := /d/dev/ds/ndslib/
#---------------------------------------------------------------------------------
# the prefix on the compiler executables
#---------------------------------------------------------------------------------
PREFIX := arm-elf-
#---------------------------------------------------------------------------------
# any extra libraries we wish to link with the project
#---------------------------------------------------------------------------------
LIBS := -lnds9
#---------------------------------------------------------------------------------
# list of directories containing libraries, this must be the top level containing
# include and lib
#---------------------------------------------------------------------------------
LIBDIRS := $(NDSLIBPATH)
#---------------------------------------------------------------------------------
# no real need to edit anything past this point unless you need to add additional
# rules for different file extensions
#---------------------------------------------------------------------------------
ifneq ($(BUILD),$(notdir $(CURDIR)))
#---------------------------------------------------------------------------------
export OUTPUT := $(CURDIR)/$(TARGET)
export VPATH := $(foreach dir,$(SOURCES),$(CURDIR)/$(dir))
export CC := $(PREFIX)gcc
export CXX := $(PREFIX)g++
export AR := $(PREFIX)ar
export OBJCOPY := $(PREFIX)objcopy
#---------------------------------------------------------------------------------
# use CXX for linking C++ projects, CC for standard C
#---------------------------------------------------------------------------------
export LD := $(CXX)
#export LD := $(CC)
CFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.c)))
CPPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.cpp)))
SFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.s)))
PCXFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.pcx)))
BINFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.bin)))
PALFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.pal)))
RAWFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.raw)))
MAPFILES := $(foreach dir,$(SOURCES),$(notdir $(wildcard $(dir)/*.map)))
export OFILES := $(MAPFILES:.map=.o) $(RAWFILES:.raw=.o) $(PALFILES:.pal=.o) $(BINFILES:.bin=.o) $(PCXFILES:.pcx=.o)\
$(CPPFILES:.cpp=.o) $(CFILES:.c=.o) $(SFILES:.s=.o)
export INCLUDE := $(foreach dir,$(INCLUDES),-I$(CURDIR)/$(dir)) \
$(foreach dir,$(LIBDIRS),-I$(dir)/include) \
$(foreach dir,$(LIBDIRS),-I$(dir)/include/NDS) \
-I$(CURDIR)/$(BUILD)
export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib)
.PHONY: $(BUILD) clean
#---------------------------------------------------------------------------------
$(BUILD):
@[ -d $@ ] || mkdir -p $@
@make --no-print-directory -C $(BUILD) -f $(CURDIR)/Makefile
#---------------------------------------------------------------------------------
clean:
@echo clean ...$(TARGET)
@rm -fr $(BUILD) *.elf *.nds*
#---------------------------------------------------------------------------------
else
DEPENDS := $(OFILES:.o=.d)
#---------------------------------------------------------------------------------
# main targets
#---------------------------------------------------------------------------------
$(OUTPUT).nds.gba : $(OUTPUT).nds
$(OUTPUT).nds : $(OUTPUT).bin
$(OUTPUT).bin : $(OUTPUT).elf
$(OUTPUT).elf : $(OFILES)
#---------------------------------------------------------------------------------
%.nds.gba: %.nds
@echo built ... $(notdir $@)
@$(TOOLDIR)/dsbuild $(OUTPUT).nds $@ $(TOOLDIR)/loader.bin
#---------------------------------------------------------------------------------
%.nds: %.bin
@$(TOOLDIR)/ndstool -c $@ -9 $(TARGET).bin -7 $(ARM7BIN) -b $(TOOLDIR)/sephiroth.bmp "$(TARGET);?2005;by Sephiroth87" -o $(TOOLDIR)/logo.bmp
#---------------------------------------------------------------------------------
%.bin: %.elf
@$(OBJCOPY) -O binary $(TARGET).elf $(TARGET).bin
#---------------------------------------------------------------------------------
%.elf:
@$(LD) $(LDFLAGS) -specs=ds_arm9.specs $(OFILES) $(LIBPATHS) $(LIBS) -o $(TARGET).elf
#---------------------------------------------------------------------------------
# Compile Targets for C/C++
#---------------------------------------------------------------------------------
#---------------------------------------------------------------------------------
%.o : %.cpp
@echo $(notdir $<)
@$(CXX) -MM $(CFLAGS) -o $*.d $<
@$(CXX) $(CFLAGS) -c $< -o$@
#---------------------------------------------------------------------------------
%.o : %.c
@echo $(notdir $<)
@$(CC) -MM $(CFLAGS) -o $*.d $<
@$(CC) $(CFLAGS) -c $< -o$@
#---------------------------------------------------------------------------------
%.o : %.s
@echo $(notdir $<)
@$(CC) -MM $(CFLAGS) -o $*.d $<
@$(CC) $(ASFLAGS) -c $< -o$@
define bin2o
cp $(<) $(*).tmp
$(OBJCOPY) -I binary -O elf32-littlearm -B arm \
--rename-section .data=.rodata \
--redefine-sym _binary_$*_tmp_start=$*\
--redefine-sym _binary_$*_tmp_end=$*_end\
--redefine-sym _binary_$*_tmp_size=$*_size\
$(*).tmp $(@)
echo "extern const u8" $(*)"[];" > $(*).h
echo "extern const u32" $(*)_size[]";" >> $(*).h
rm $(*).tmp
endef
#---------------------------------------------------------------------------------
%.o : %.pcx
#---------------------------------------------------------------------------------
@echo $(notdir $<)
@$(bin2o)
#---------------------------------------------------------------------------------
%.o : %.bin
#---------------------------------------------------------------------------------
@echo $(notdir $<)
@$(bin2o)
#---------------------------------------------------------------------------------
%.o : %.raw
#---------------------------------------------------------------------------------
@echo $(notdir $<)
@$(bin2o)
#---------------------------------------------------------------------------------
%.o : %.pal
#---------------------------------------------------------------------------------
@echo $(notdir $<)
@$(bin2o)
#---------------------------------------------------------------------------------
%.o : %.map
#---------------------------------------------------------------------------------
@echo $(notdir $<)
@$(bin2o)
#---------------------------------------------------------------------------------
%.o : %.mdl
#---------------------------------------------------------------------------------
@echo $(notdir $<)
@$(bin2o)
-include $(DEPENDS)
#---------------------------------------------------------------------------------------
endif
#--------------------------------------------------------------------------------------- |
what lines do i have to add?[/code]
#53879 - Mollusk - Mon Sep 12, 2005 10:45 pm
with arog and kleevah, we updated the template in the PAlib.zip... You could just take out the makefiles from there (3 makefiles, one in the base folder, one in arm9, one in arm7...)
So check out version 0.52a :)
#53881 - Sephiroth87 - Mon Sep 12, 2005 11:00 pm
yahoo!!!
finally PAlibs are installed xD
thank'you very much for the support ;)
keep on the great work!