Je viens solliciter votre aide, car j’ai pas mal de problèmes avec Ndless SDK. En fait, notamment avec tous les liens morts que j’ai dû me taper juste pour l’installer sans erreur… ( peut être que j'ai mal lu les tutos) Un vrai parcours du combattant ! Ensuite, H24, j’ai des erreurs avec les fichiers Nspire du type lnspireio ect alors que j’ai bien compilé tous, bref un cauchemar avec des erreurs de compilation partout ! 😵💫😵💫😵💫
Et quand je réussis enfin à compiler le fichier .tns, je le mets sur ma calculatrice… et là, il me dit que ce fichier n’est pas pris en charge ! 😡😡😡
À noter que, comme je suis un peu flemmard j’utilise Cygwin 64 je suis sur win .
Donc, les problèmes que je rencontre sont :
(Je sais pas si j’ai mal cherché) Je n’ai pas trouvé de documentation sur le fonctionnement de tout cela, à part les tutoriels d’installation.
Des erreurs à tout-va.
- Code: Select all
arm-none-eabi-ld: test.o: in function `main':
test.c:(.text.startup+0x10): undefined reference to `nspireio_putstr'
arm-none-eabi-ld: test.c:(.text.startup+0x14): undefined reference to `nspireio_getkey'
collect2: error: ld returned 1 exit status
make: *** [Makefile:43: test.elf] Error
Si c'est pas ca j'en d'autres a chaque fois
voici le petit test que j'essaye de faire pour le moment :
- Code: Select all
#include <nspireio.h>
int main(void) {
nspireio_putstr(10, 10, "Hello, World!");
nspireio_getkey();
return 0;
}
J'ai essayer avec le nspireio2 aussi.
Voici le makefile :
- Code: Select all
DEBUG = FALSE
GCC = nspire-gcc
AS = nspire-as
GXX = nspire-g++
LD = nspire-ld
GENZEHN = genzehn
GCCFLAGS = -Wall -W -marm
GCCFLAGS += -I/cygdrive/c/cygwin64/home/442/ndless-sdk/thirdparty/nspire-io/include/nspireio
GCCFLAGS += -I/cygdrive/c/cygwin64/home/442/ndless-sdk/thirdparty/nspire-io/include
LDFLAGS = -L/cygdrive/c/cygwin64/home/442/ndless-sdk/thirdparty/nspire-io/lib -lnspireio
ZEHNFLAGS = --name "test"
ifeq ($(DEBUG),FALSE)
GCCFLAGS += -Os
else
GCCFLAGS += -O0 -g
endif
OBJS = $(patsubst %.c, %.o, $(shell find . -name *.c))
OBJS += $(patsubst %.cpp, %.o, $(shell find . -name *.cpp))
OBJS += $(patsubst %.S, %.o, $(shell find . -name *.S))
EXE = test
DISTDIR = .
vpath %.tns $(DISTDIR)
vpath %.elf $(DISTDIR)
all: $(EXE).tns
%.o: %.c
$(GCC) $(GCCFLAGS) -c $< -o $@
%.o: %.cpp
$(GXX) $(GCCFLAGS) -c $< -o $@
%.o: %.S
$(AS) -c $< -o $@
$(EXE).elf: $(OBJS)
mkdir -p $(DISTDIR)
$(LD) $^ -o $@ $(LDFLAGS)
$(EXE).tns: $(EXE).elf
$(GENZEHN) --input $^ --output $@.zehn $(ZEHNFLAGS)
make-prg $@.zehn $@
rm $@.zehn
clean:
rm -f $(OBJS) $(DISTDIR)/$(EXE).tns $(DISTDIR)/$(EXE).elf $(DISTDIR)/$(EXE).zehn
Désolé pour le potentiel manque d'informations, mais j'aurais probablement dû attendre avant de rédiger. Cela fait un bon moment que je suis dessus, et il m'est toujours impossible de le faire fonctionner correctement… Ça devient lourd.