π
<-

[ Résolu ] Compilation

C, C++, ASM...

[ Résolu ] Compilation

Unread postby qzeddqdqdqsd » 30 Mar 2025, 17:00

Bonjour bonjour,

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.
Last edited by qzeddqdqdqsd on 31 Mar 2025, 18:10, edited 1 time in total.
User avatar
qzeddqdqdqsd
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 7.8%
 
Posts: 6
Joined: 09 Dec 2024, 17:36
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Licence

Re: [ Aide ] Compilation

Unread postby Adriweb » 30 Mar 2025, 17:11

Je pense que beaucoup de problèmes viennent sûrement du fait que cygwin doit mettre des bâtons dans les roues du bon fonctionnement normal... en tout cas sur Linux ou Mac je n'ai pas tout ces problèmes, et je n'ai jamais essayé moi même sous Windows...

Sinon ça paraît assez correct d'après ce que je lis rapidement...
2 questions:
- tu as bien le fichier libnspireio.a dans cygdrive/c/cygwin64/home/442/ndless-sdk/thirdparty/nspire-io/lib ? Vu que c'est ça qui va essayé d'être linké d'après le LDFLAGS... en gros je demande donc si tu as bien buildé le Ndless-SDK après avoir buildé la toolchain.
- les exemples de la toolchain (notamment ceux avec Nspire io, mais pas que) fonctionnent-ils ?

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.6%
 
Posts: 14816
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: [ Aide ] Compilation

Unread postby qzeddqdqdqsd » 30 Mar 2025, 17:33

Adriweb wrote:Je pense que beaucoup de problèmes viennent sûrement du fait que cygwin doit mettre des bâtons dans les roues du bon fonctionnement normal... en tout cas sur Linux ou Mac je n'ai pas tout ces problèmes, et je n'ai jamais essayé moi même sous Windows...

Sinon ça paraît assez correct d'après ce que je lis rapidement...
2 questions:
- tu as bien le fichier libnspireio.a dans cygdrive/c/cygwin64/home/442/ndless-sdk/thirdparty/nspire-io/lib ? Vu que c'est ça qui va essayé d'être linké d'après le LDFLAGS... en gros je demande donc si tu as bien buildé le Ndless-SDK après avoir buildé la toolchain.
- les exemples de la toolchain (notamment ceux avec Nspire io, mais pas que) fonctionnent-ils ?


Merci pour la réactivité ! Pour le coup, je ne sais même plus… J'ai dû l'installer deux fois, attendre 45 minutes deux fois à tel point que je ne sais même plus ce que j'ai fait. Par contre, pour répondre aux questions :
- Le fichier libnspireio.a est bien présent dans cygdrive/c/cygwin64/home/442/ndless-sdk/thirdparty/nspire-io/lib, donc il est bien compilé.

Quand je fait :
Code: Select all
cd /cygdrive/c/cygwin64/home/442/ndless-sdk
make clean
make


J'ai ça :
Code: Select all
$ make
make -C libsyscalls
make[1] : on entre dans le répertoire « /cygdrive/c/cygwin64/home/442/ndless-sdk/libsyscalls »
arm-none-eabi-g++ -mcpu=arm926ej-s -std=c++11 -nostdlib -O3 -fPIE -fno-exceptions -fno-rtti -mlong-calls -Wall -Werror -I ../include/ -I ../thirdparty/nspire-io/include/ -D_TINSPIRE -ffunction-sections -fdata-sections -c stubs.cpp -o stubs.o
make[1]: arm-none-eabi-g++: No such file or directory
make[1]:  [Makefile:18: stubs.o] Error 127
make[1] : on quitte le répertoire « /cygdrive/c/cygwin64/home/442/ndless-sdk/libsyscalls »
make:  [Makefile:14: build-libsyscalls] Error 2


À chaque fois, je me tape cette erreur arm-none-eabi-g++. À chaque fois, je corrige le chemin à chaque fois… cette erreur reviens 😤😤 Je crois que je vais aller sur Linux ou Mac. Comme quoi la fainéantise a un prix !
User avatar
qzeddqdqdqsd
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 7.8%
 
Posts: 6
Joined: 09 Dec 2024, 17:36
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Licence

Re: [ Aide ] Compilation

Unread postby Adriweb » 30 Mar 2025, 17:42

Coté WSL2 sur windows ca devrait aussi mieux fonctionner que cygwin :)

Au passage il y a une PR sur le repo github en ce moment pour mettre a noir les différents composants de la toolchain. Mais bon a priori cote toolchain au moins tu n'a pas eu de problemes (ou du moins tu les a solutionnés).
Et ouai 45 min c'est énorme. Carrément plus rapide chez moi...

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.6%
 
Posts: 14816
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: [ Aide ] Compilation

Unread postby qzeddqdqdqsd » 30 Mar 2025, 18:38

Adriweb wrote:Coté WSL2 sur windows ca devrait aussi mieux fonctionner que cygwin :)

Au passage il y a une PR sur le repo github en ce moment pour mettre a noir les différents composants de la toolchain. Mais bon a priori cote toolchain au moins tu n'a pas eu de problemes (ou du moins tu les a solutionnés).
Et ouai 45 min c'est énorme. Carrément plus rapide chez moi...


Effectivement… 🤔 Avec WSL2, on en est déjà à 15 minutes. Je laisse le topic ouvert pour le moment, au cas où j'aurais une autre erreur car je compte stopper là pour aujourd'hui. En tout cas, merci encore ! 👍
User avatar
qzeddqdqdqsd
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 7.8%
 
Posts: 6
Joined: 09 Dec 2024, 17:36
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Licence

Re: [ Aide ] Compilation

Unread postby qzeddqdqdqsd » Yesterday, 18:10

Adriweb wrote:Coté WSL2 sur windows ca devrait aussi mieux fonctionner que cygwin :)

Au passage il y a une PR sur le repo github en ce moment pour mettre a noir les différents composants de la toolchain. Mais bon a priori cote toolchain au moins tu n'a pas eu de problemes (ou du moins tu les a solutionnés).
Et ouai 45 min c'est énorme. Carrément plus rapide chez moi...


Re-bonjour,

J'ai finalement réussi à compiler et à installer le programme sur ma calculatrice avec succès. Il se lance sans problème, maintenant j'aimerais savoir s'il y a une documentation, car je remarque que beaucoup de choses fonctionnent différemment.
User avatar
qzeddqdqdqsd
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 7.8%
 
Posts: 6
Joined: 09 Dec 2024, 17:36
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Licence

Re: [ Résolu ] Compilation

Unread postby Adriweb » Yesterday, 18:12

Félicitations - Ca a marché sur WSL2 donc ?

Et sinon pour la doc, tu cherches quoi exactement ? Parce que logiquement tout ce qui est disponible est dans les headers

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.6%
 
Posts: 14816
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

Re: [ Résolu ] Compilation

Unread postby qzeddqdqdqsd » Yesterday, 18:28

Adriweb wrote:Félicitations - Ca a marché sur WSL2 donc ?

Et sinon pour la doc, tu cherches quoi exactement ? Parce que logiquement tout ce qui est disponible est dans les headers


Oui, impec sur WSL2.

En fait, je voulais surtout prendre en main l'écosystème donc j'ai tenté de faire un petit programme de devinette. L'idée est simple : générer un nombre aléatoire, afficher une boîte de dialogue pour entrer un chiffre ou un nombre, et dire si on l'a trouvé.

Mais j'ai pas mal d'erreurs à la compilation, probablement parce que j'utilise des fonctions non supportées ou mal adaptées à la calculatrice. Du coup, je cherche surtout à savoir quel header gère les boîtes de dialogue et les boutons. J'ai vu des programmes impressionnants sur le site, mais je ne sais pas s'ils ont suivi le même processus.

j'ai bien mis Normalement c'est bon :
Code: Select all
#include <libndls.h>
#include <nspireio/nspireio.h>
#include <os.h>


note j'ai des erreurs avec c.printf() ect
User avatar
qzeddqdqdqsd
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 7.8%
 
Posts: 6
Joined: 09 Dec 2024, 17:36
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Licence

Re: [ Résolu ] Compilation

Unread postby qzeddqdqdqsd » Yesterday, 18:43

qzeddqdqdqsd wrote:
Adriweb wrote:Félicitations - Ca a marché sur WSL2 donc ?

Et sinon pour la doc, tu cherches quoi exactement ? Parce que logiquement tout ce qui est disponible est dans les headers


Oui, impec sur WSL2.

En fait, je voulais surtout prendre en main l'écosystème donc j'ai tenté de faire un petit programme de devinette. L'idée est simple : générer un nombre aléatoire, afficher une boîte de dialogue pour entrer un chiffre ou un nombre, et dire si on l'a trouvé.

Mais j'ai pas mal d'erreurs à la compilation, probablement parce que j'utilise des fonctions non supportées ou mal adaptées à la calculatrice. Du coup, je cherche surtout à savoir quel header gère les boîtes de dialogue et les boutons. J'ai vu des programmes impressionnants sur le site, mais je ne sais pas s'ils ont suivi le même processus.

j'ai bien mis Normalement c'est bon :
Code: Select all
#include <libndls.h>
#include <nspireio/nspireio.h>
#include <os.h>


note j'ai des erreurs avec c.printf() ect

Finalement j'ai compris mon erreur fallait juste lire...
User avatar
qzeddqdqdqsd
Niveau 7: EP (Espèce Protégée: geek)
Niveau 7: EP (Espèce Protégée: geek)
Level up: 7.8%
 
Posts: 6
Joined: 09 Dec 2024, 17:36
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Licence


Return to Native: Ndless, Linux, ...

Who is online

Users browsing this forum: No registered users and 3 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1169 utilisateurs:
>1134 invités
>28 membres
>7 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)