Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Vos tutoriels et astuces


Index du Forum » Vos tutoriels et astuces » Tutoriels d'utilisation de gint (commentaires)
Lephenixnoir En ligne Administrateur Points: 24225 Défis: 170 Message

Tutoriels d'utilisation de gint (commentaires)

Posté le 15/07/2017 13:54

Les tutoriels d'utilisation de gint sont sur ce topic.

Pour garder les tutoriels ensemble dans les posts du topic d'origine (et surtout pas créer un topic par tuto...), je vous propose de poster vos questions/commentaires/etc ici. Merci !


Précédente 1, 2, 3 ··· 10, 11, 12, 13, 14, 15, 16 ··· 20 ··· 24, 25, 26 Suivante
Kamrade Hors ligne Membre Points: 48 Défis: 0 Message

Citer : Posté le 14/03/2021 20:41 | #


Ah problème résolue, je n'avais pas vu qu il fallait être dans le fichier complet avant de lancer build-fx, merci beaucoup!!
Lephenixnoir En ligne Administrateur Points: 24225 Défis: 170 Message

Citer : Posté le 14/03/2021 21:03 | #


Ouf ! Merci de ta patience. J'espère que tu t'amuseras bien avec les add-ins !
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Kamrade Hors ligne Membre Points: 48 Défis: 0 Message

Citer : Posté le 14/03/2021 21:13 | #


Gravity duck sur graph 35 +e2 arrive !!!!( Et deso d'avoir poste mon commentaire sur le mauvais topic)
Lephenixnoir En ligne Administrateur Points: 24225 Défis: 170 Message

Citer : Posté le 14/03/2021 21:16 | #


... ce n'est pas vraiment la direction pour faire un portage de Gravity Duck, mais fais ce qui te semble possible.

Pour info il y a un topic qui liste les portages d'add-ins vers la Graph 35+E II, je te conseille d'y faire un tour.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Ninestars Hors ligne Membre Points: 2461 Défis: 24 Message

Citer : Posté le 05/04/2021 21:03 | #


Me revoilà sur cette page hahaaa !

J'ai un message d'erreur pour crée un nouveau projet :
cd /Users/olivier/Documents/CASIO/coco
fxsdk new coco

/Users/olivier/.local/bin/fxsdk: line 77: ${2^^}: bad substitution
Lephenixnoir En ligne Administrateur Points: 24225 Défis: 170 Message

Citer : Posté le 05/04/2021 21:07 | #


Il faut que tu identifies ton shell. Je ne sais pas ce que tu utilises mais ça ne doit pas être bash (et c'est le 2/3ème bug à ce sujet).

Note que la procédure est un poil différente si tu utilises CMake, les dossiers sont organisés un peu différemment ; mais dans tous les cas fxsdk build-{fx,cg} te compile l'add-in. Les détails de tutoriel sur le système de compilation sont juste moins pertinents.

Lis aussi ce post quand tu arriveras à la conversion des assets.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Loieducode En ligne Membre Points: 191 Défis: 6 Message

Citer : Posté le 09/04/2021 16:09 | #


Donc j'ai eu une idée de projet (secret pour le forum jusque à que ce soit fini) et j'ai besoin de lire des fichiers pour cela. Je regarde donc les headers de la lib, et je trouve LE .h a inclure parfait :
gint/bfile.h


Mais, je regarde le contenu du fichier, et je vois un commentaire qui m'a intrigué

//---
//    gint:bfile - BFile interface
//
//    The system's file system is a nightmare and the risk of corrupting it
//    or the flash by driving it manually is too great to risk. This module
//    interfaces with the BFile syscalls for file management.
//---

Donc utiliser cette partie de la lib pourrait causer des problemes à la memoire flash? Et si c'est le cas, je me mets a risque si c'est juste pour lire un fichier?
Trickswriting(sort le 1er avril):
   100%
Cakeisalie5 En ligne Ancien administrateur Points: 1909 Défis: 11 Message

Citer : Posté le 09/04/2021 16:14 | #


"Le système de fichiers est un cauchemar et le risque de le corrompre en le manipulant manuellement est trop risqué. Ces interfaces utilisent les syscalls Bfile pour la gestion des fichiers."

Traduction : c'est safe. Tout ce que ce commentaire dit, c'est que ce n'est pas implémenté directement dans gint, c'est l'une des seules parties où gint fait appel au système. Mais ce sont des mécanismes internes. Penses juste à utiliser gint_switch() comme le dit le commentaire d'en-dessous, j'avais oublié ce détail.

Promotion ordinaire sur les inscriptions sur Planète Casio : en ce moment, c'est gratuit !

Mon blogBesoin d'utilitaires de transfert vers et depuis la calculatrice sous GNU/Linux ?
Lephenixnoir En ligne Administrateur Points: 24225 Défis: 170 Message

Citer : Posté le 09/04/2021 16:15 | #


Contrôler manuellement la Flash serait un risque... par conséquent, gint ne le fait pas, et utilise à la place BFile (l'interface de l'OS). Tu ne risques rien, fais simplement attention à bien appeler les fonction BFile hors de gint (à savoir dans un gint_switch(), vois <gint/gint.h> pour les détails) et tout ira bien.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Loieducode En ligne Membre Points: 191 Défis: 6 Message

Citer : Posté le 09/04/2021 16:44 | #


Aussi, le format de lecture c'est bien
/undossier/etunautre/etvoilalefich.ier
?
Trickswriting(sort le 1er avril):
   100%
Lephenixnoir En ligne Administrateur Points: 24225 Défis: 170 Message

Citer : Posté le 09/04/2021 16:50 | #


Nope, c'est \\fls0\FICHIER.BIN et c'est encodé en FONTCHARACTER (extension 16-bit de Shift-JIS) et y'a qu'un niveau de sous-dossiers. https://bible.planet-casio.com/common/casio/sdk_manuals/Libraries.pdf autour de Bfile_*.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Ninestars Hors ligne Membre Points: 2461 Défis: 24 Message

Citer : Posté le 01/05/2021 18:18 | #


J'ai inclue gint/defs/utils pour avoir les min max, mais j'ai une erreur à la compilation : il semble qu'il faille définir __auto_type
Que faut-il faire ?
Lephenixnoir En ligne Administrateur Points: 24225 Défis: 170 Message

Citer : Posté le 01/05/2021 18:31 | #


C'est parce que tu fais du C++, et en C++ on peut utiliser le mot-clé auto pour demander au compilateur de deviner le type d'une variable à partir de la valeur avec laquelle on l'initialise. En C, auto veut dire autre chose, et GCC a introduit un mot-clé __auto_type comme extension pour obtenir ce comportement. Bien sûr en C++ l'extension ne sert à rien et n'est donc pas activée.

Bref, en gros il faut écrire auto à la place en C++. J'ai poussé un commit sur dev qui fait exactement ça, dis-moi si ça se passe mieux pour toi (j'ai fait un test mais on sait jamais).
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Ninestars Hors ligne Membre Points: 2461 Défis: 24 Message

Citer : Posté le 01/05/2021 18:45 | #


OK, merci pour l'explication.

Oui c'est tout bon, ça fonctionne désormais, j'ai toujours d'autres erreurs de compilation mais c'est autre chose
Merci

Ajouté le 01/05/2021 à 19:06 :
Bon tout compte fait, j'ai encore des erreurs, surtout une que je ne comprends pas
CMakeFiles/Windmill.dir/src/main.cpp.obj: in function `__GLOBAL__sub_I_game':
main.cpp:(.text.startup+0xc0): undefined reference to `___dso_handle'
main.cpp:(.text.startup+0xc4): undefined reference to `___cxa_atexit'
Windmill: hidden symbol `___dso_handle' isn't defined


Dans main.cpp j'ai 3 variables globales
Game game;
Windmill windmill;
Scene_Map scene_map;


PS : je cherche avant sur internet avant de t'embêter avec mes questions, mais je trouve pas toujours
Lephenixnoir En ligne Administrateur Points: 24225 Défis: 170 Message

Citer : Posté le 01/05/2021 19:10 | #


Argh, le compilateur utilise atexit() (plus spécifiquement _cxa_atexit()) pour exécuter les destructeurs. Le dso_handle est encore plus spécifique et je crois qu'il faut vraiment qu'on compile libstdc++ avec le compilateur si on veut avoir une chance de faire du C++ sérieusement.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Ninestars Hors ligne Membre Points: 2461 Défis: 24 Message

Citer : Posté le 01/05/2021 19:35 | #


Arf...

Pourtant, les class fonctionnaient bien jusque là :
Si je fais ça dans main.cpp ça compile nickel
class Chien
{
public:
    int croquette;
    
    Chien();
    void manger(int cb);
};

Chien::Chien()
{
    croquette = 10;
}

void Chien::manger(int cb)
{
    croquette -= cb;
}

Chien pipounie;

blabla
Lephenixnoir En ligne Administrateur Points: 24225 Défis: 170 Message

Citer : Posté le 01/05/2021 20:21 | #


C'est parce qu'il n'y a pas de destructeur.

Si tu as encore le dossier dans lequel tu as compilé GCC, je peux faire des essais pour compiler libstdc++. Honnêtement ce serait un niveau de vie complètement différent, avec la STL et tout. Il faut quand même que gint fournisse atexit() et d'autres trucs mais ça c'est jouable.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Ninestars Hors ligne Membre Points: 2461 Défis: 24 Message

Citer : Posté le 02/05/2021 10:14 | #


Hmmm en effet, d'ailleurs rien à y faire, j'ai une erreur de compilation sur le ~ quand j'ajoute Chien::~Chien, je saisi pas pourquoi il me "error stray". Peu importe de toute façon

Oui j'ai toujours ce dossier, je suis grave preneur si tu arrives à compiler la stdlibc++. Sans vouloir imposer une quelconque pression, je ne pourrai pas avancer de toute façon sans. Tout mon code est pensé pour le C++

Bref je mes le projet en attente, je suis dispo si tu tester des trucs
Lephenixnoir En ligne Administrateur Points: 24225 Défis: 170 Message

Citer : Posté le 02/05/2021 10:25 | #


Ninestars a écrit :
Hmmm en effet, d'ailleurs rien à y faire, j'ai une erreur de compilation sur le ~ quand j'ajoute Chien::~Chien, je saisi pas pourquoi il me "error stray". Peu importe de toute façon

Oh ça c'est un problème extrêmement superficiel: « stray xxx in program » c'est quand g++ trouve un caractère inconnu dans le code. Tu as dû taper un caractère exotique avec Alt Gr ou une autre fausse manip' du même style. Si ton éditeur de texte ne te montre pas le caractère problématique, tu peux supprimer et réécrire une ligne entière pour t'en défaire. Vérifie que tu utilises bien le tilde ASCII (~).

Oui j'ai toujours ce dossier, je suis grave preneur si tu arrives à compiler la stdlibc++. Sans vouloir imposer une quelconque pression, je ne pourrai pas avancer de toute façon sans. Tout mon code est pensé pour le C++

Aïe, je suis maintenant bloquant pour Windmill, ce qui est très pressant ha ha. Je vais faire de mon mieux pour aller vite.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Lephenixnoir En ligne Administrateur Points: 24225 Défis: 170 Message

Citer : Posté le 04/05/2021 18:53 | #


Je viens (enfin) de mettre à jour le tutoriel pour le système de compilation CMake. C'est un truc de fou parce que non seulement il faut modifier le texte mais en plus il faut modifier tous les commits du dépôt pour que chaque référence au dépôt dans le corps du tutoriel pointe vers un nouveau commit identique sauf pour le système de build ! x)

Pour les curieux, j'ai simplement créé une nouvelle branche sur le premier commit, modifié le premier commit avec un nouveau projet vide, et ensuite cherry-pick tous les commits un par un et résolu les conflits au fur et à mesure. Le truc a été rendu un peu plus compliqué par le fait que j'avais déjà commencé à éditer le texte, et donc j'avais des modifs pour le 4ème ou le 5ème commit dans l'espace de travail quand j'ai commencé...

J'ai aussi fait toutes les mises à jour récentes liées au fxSDK et j'ai mettre trouvé une fonctionnalité que j'avais oublié de porter durant la mise à jour où j'ai créé fxconv-metadata.txt. Visiblement ça n'a dérangé personne

J'ai laissé une branche "makefile" sur le dépôt pour ceux qui voudraient potentiellement relire le tutoriel original.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Lephenixnoir En ligne Administrateur Points: 24225 Défis: 170 Message

Citer : Posté le 04/05/2021 20:27 | # | Fichier joint


@Ninestars J'ai commencé à regarder pour compiler libstdc++. Mais ça dépend de beauuucoup de trucs dans la lib standard. Ce sera probablement un grind avant que j'y arrive. Je ne sais pas encore quelles sont les options, le plus direct pourrait être par exemple de ressortir newlib... c'est clairement un problème ouvert.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Précédente 1, 2, 3 ··· 10, 11, 12, 13, 14, 15, 16 ··· 20 ··· 24, 25, 26 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 54 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd