Posté le 15/07/2017 13:54
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 85 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
Citer : Posté le 17/07/2017 01:07 | #
Vu que le fxSDK n'est pas un IDE, c'est quoi du coup, un linker, une sorte de bibliothèque, un regroupement d'alias, etc ?
Citer : Posté le 17/07/2017 01:26 | #
Un SDK
C'est comme le sdk de casio : tu écris ton code sous ton éditeur préféré et tu compiles avec le sdk. (enfin j'imagine)
Ecrivez vos programmes basic sur PC avec BIDE
Citer : Posté le 17/07/2017 09:09 | #
SDK signifie « Software Development Kit », c'est-à-dire un ensemble d'outils permettant de développer des programmes. Ça, c'est ce que le fxSDK est. Le fxSDK est en ligne de commande mais ce n'est pas nécessaire à la définition.
IDE signifie « Integrated Development Environment », c'est-à-dire un environnement (logiciel graphique) de développement qui intègre tous les outils nécessaires au développement dans son interface. Le Projet Unicorn d'Intelligide est un IDE, malheureusement je ne trouve plus le topic (des choses ont été supprimées).
Le linker, non, c'est GNU ld. La bibliothèque, c'est plutôt gint, pour gérer l'exécution sur la calculatrice. le fxSDK est plus proche d'un groupe d'alias, mais ça fait quand même un peu plus : conversion, désassemblage, des choses comme ça. Il contient des programmes entièrement « nouveaux ».
Citer : Posté le 17/07/2017 14:58 | #
Le premier tuto etait vraiment sympa (si tu crois que l'on a pas vu que c'etait de la propagande pour nous apprendre à coder proprement x) ), de plus il permet dirrectement de cerner les possibillités de gint du fait de l'utilisation d'un exemple concret.
Et puis encore bravo au vu de la quantité de travail que ça représente pour toi, alors que tu pouvais simplement balancer gint sans plus d'explication.
Citer : Posté le 17/07/2017 15:02 | #
En vérité, je comptais en parler plus tard mais le tuto est aussi un peu sur la programmation de jeux vidéos. J'ai que des connaissances empiriques dessus, issues de mes propres tests, donc je voulais pas affirmer ouvertement que ce que je propose est une exemple à suivre, mais l'idée est de montrer des méthodes simples pour effectuer des tâches classiques sans utiliser IsKeyDown() et affiliés.
Je sais bien que quasiment personne n'aura envie de se coltiner la doc dans les headers alors si je veux que la lib' soit utile, il faut bien que j'y mette les moyens. Merci !
Citer : Posté le 01/08/2017 23:56 | #
Salut,
En tant que débutant sur Linux et donc dans les lignes de commande je galère un peu
Donc voilà en suivant le tutoriel (qui est d'ailleurs très bien fait), je me suis surtout rendu compte de l'importance du Makefile Seulement, c'est assez compliqué de bien comprendre les tutoriels qui parte vite loin et que j'ai du mal a comprendre en tant que débutant ou qui traitent souvent de cas (trop) simple (un fichier, voir deux, mais pas tout ce qui est engendré ici comme les assets ou autre).
Du coup, est-ce que ça serait possible d'avoir un petit topo ou en tout cas un exemple de Makefile histoire que j'ai un peu une idée de vers où aller en connaissant les commandes puisque je les ai utilisée dans le tutoriel ?
Citer : Posté le 02/08/2017 00:11 | #
+1 ^^'
Citer : Posté le 02/08/2017 01:02 | #
Voilà un tutoriel rapide sur GNU make.
Mon blog ⋅ Mes autres projets
Citer : Posté le 02/08/2017 17:01 | #
Passage rapide ; merci pour le tuto, Cake, ça aide (beaucoup, tu me sauves la vie en fait ) !
Pensez-vous qu'ajouter une fonctionnalité au fxSDK pour genrérer des Makefile à partir de fichiers de projets (indiquant où sont les sources, headers, assets, etc) soit utile ou intéressant ?
Citer : Posté le 04/08/2017 12:40 | #
Personnellement, je trouve ça intéressant de faire son propre Makefile avec l'aide d'un tutoriel, mais bon après c'est vrai que c'est un certain confort d'avoir un Makefile généré automatiquement. Après, je vois pas trop ce qui change d'un projet à l'autre dans le makefile en dehors des noms, versions, date...
Citer : Posté le 04/08/2017 12:45 | #
La structure du projet, notamment dans l'organisation des données. Est-ce que tu veux permettre les src/sousdossier/coucou.c ? Est-ce que tu préfères avoir les fichiers source dans la racine ? Est-ce que tu veux avoir un dossier objet séparé ou non ? Est-ce que tu veux utiliser .font.bmp ou plutôt avoir un dossier fonts/ où tous les .bmp sont des fonts ? Et si tu veux générer un index automatiquement (comme moi dans Tu Quoque) ? Ou même des fichiers source dans un langage que t'inventes (comme les niveaux dans Tu Quoque, qui sont une grille de caractères représentant les tiles) ?
Y a plein de choses que tu peux faire. Après, tout le monde ne veut pas forcément se casser la tête.
Mon blog ⋅ Mes autres projets
Citer : Posté le 04/08/2017 13:35 | #
Si je reprends les exemples que tu as donnés, Cake :
- Permettre un parcours récursif des dossiers de sources (potentiellement individuel) ;
- Permettre le recoupement des dossiers de sources et d'en-têtes ;
- Utiliser une wildcard pour repérer les polices parmi les assets ;
- Configurer des scripts pour convertir des ressources additionnelles (si j'ai bien compris) ;
Le coup de l'index, j'ai pas tout suivi. Tu peux préciser ?
Tout ceci sont des fonctionnalités de base d'un tel outil, s'il est bien conçu. À l'inverse, le Makefile en question peut gérer les dépendances automatiques, afficher des messages sympa, gérer le numéro de version via un fichier, tout plein de trucs fastidieux à faire soi-même quand on sait les faire, et passablement compliqués dans le cas contraire.
Citer : Posté le 04/08/2017 13:55 | #
Le coup de l'index, c'est pour générer des index d'objets. Donc par exemple, on a fait trois maps, avec les symboles _map_a_data, _map_a_entities, _map_b_data, ..., _map_c_entities, bah il est utile de générer un index (en C par exemple) :
struct index_entry map_entries = {
{"a", _map_a_data, _map_a_entities},
/* ... */
{"c", _map_c_data, _map_c_entities}
};
Mais pour préparer le coup des ressources additionnelles, bon courage, parce que c'est chaud, surtout si tu veux "optimiser" le Makefile final
Mon blog ⋅ Mes autres projets
Citer : Posté le 04/08/2017 14:00 | #
C'est pas si compliqué. Il te suffit de déclarer dans le fichier du projet une commande de conversion pour un type de fichier identifié par un dossier d'entrée et une wildcard, et de mettre un script shell derrière la commande pour générer l'index. Il n'y a pas de dépendances à mettre à jour car l'index n'a besoin d'être régénéré que si une des maps change, et si elle change elle devra être reconvertie, ce qui régénérera l'index comme side-effect.
Citer : Posté le 04/08/2017 14:14 | #
Bon courage alors \o/
Mon blog ⋅ Mes autres projets
Citer : Posté le 13/08/2017 22:32 | # | Fichier joint
Désolé de faire attendre les gens intéressés par la suite des tutos. Je suis pris à réfléchir sur un gameplay à la fois simple à mettre en oeuvre (histoire qu'il n'y ait pas 30 pages de code à chaque post), et suffisamment complet pour être intéressant.
Je dois aussi faire les spritesheets et les maps si on vaut pouvoir sortir du menu principal, et comme vous pouvez le voir, c'est pas de tout repos... x)
Donc je suis pas mort, mais je nage un poil niveau délais !
Citer : Posté le 08/12/2018 15:37 | #
Bonjour ! J'ai un soucis avec cette commande : sh3eb-elf-gcc build/main.o -o build/moisland.elf fxsdk --cflags --libs
Elle me donne cette erreur : /lib/gcc/sh3eb-elf/7.3.0/../../../../sh3eb-elf/bin/ld: cannot find -lgcc
collect2: error: ld returned 1 exit status
Citer : Posté le 08/12/2018 15:39 | #
As-tu bien installé libgcc dans le tutoriel d'installation de GCC ?
Citer : Posté le 08/12/2018 15:42 | #
Oui
Citer : Posté le 08/12/2018 15:44 | #
Essaie la commande suivante. Si ça renvoie "libgcc.a" au lieu d'un chemin complet, c'est que quelque chose s'est mal passé.
/home/el/opt/sh3eb-elf-2.31.1-8.2.0/lib/gcc/sh3eb-elf/8.2.0/libgcc.a