squalyl (./131) :
tiens, rien à voir, mais pourquoi n'y a t il pas de binaire pour ld-tigcc sous windows?
Lionel Debroux (./132) :
./131: sous Windows, c'est pas une DLL ?
Effectivement. Si tu appelles
ld-tigcc directement, c'est une erreur grave dans ton script de compilation, il faut passer par
tigcc pour toutes les opérations de compilation en ligne de commande.
Lionel Debroux (./129) :
* la philosophie '1 projet = 1 compilation d'1 programme' est affreuse quand il y a beaucoup de programmes (ExtGraph: actuellement 33 demos + 1 autre programme de test, ça va encore augmenter);
Ben, il suffit de ne recompiler que quand c'est nécessaire, ça ne sert à rien de recompiler les 33 démos à chaque fois! Et en tout cas:
Lionel Debroux (./132) :
* pour le premier défaut des TPR que j'ai cité, je ne vois pas trop ce qui pourrait être fait pour améliorer ça: les scripts sont plus faciles à maintenir et utiliser...
Il faudrait tout simplement une gestion de groupes de projets.
* les TPRs ne savent pas gérer _simplement_ (je veux dire: plusieurs TPRs pour faire des function archives et linker le tout ensemble, c'est n'importe quoi
) la compilation de plusieurs parties compilées avec des options différentes (TI-Chess);
Solution évidente: arrêter de compiler tout avec des options différentes, TI-Chess compile très bien avec -Os par tout.
* les TPRs ne sont pas faits pour les programmes incompatibles on-calc (tous);
Solution évidente: rendre les programmes compatibles on-calc.
* les TPRs ne sont pas faits pour les programmes avec plusieurs langues (TI-Chess, TICT-Explorer).
Solution évidente: faire de la langue un choix en temps d'exécution, pas de compilation (cf. réponse précédente).
j'utilise le mode verbose pour avoir les infos quand je compile avec tprbuilder, et ce mode n'est pas géré par KTIGCC.
Tu parles de quelles infos? Les stats sorties par
ld-tigcc. Je te signale que si tu actives "Display message after successful compilation" dans les options de KTIGCC, tu as toutes ces stats dans une boîte de dialogue.
Pollux (./137) :
Non on peut lier statiquement, ça fait un exécutable de genre 3 Mo (bon après je pense que ça dépend des fonctions vraiment utilisées).
Il faut un Qt compilé spécialement pour ça, je ne vois de qt-mingw-static précompilé nulle part (le projet kde-windows a juste un qt-msvc-static utilisé pour leur installeur, et pas à jour en plus (4.3.2, ils s'en foutent parce que c'est suffisant pour leur installeur et Qt statique ne sert nulle part ailleurs, tout le reste utilise le Qt dynamique partagé)). Et on perd les plugins avec ça, donc tout est soit à compiler directement dans Qt, et donc au final dans l'exécutable, soit à désactiver (donc perte de fonctionnalité). Quant à KDE, le linkage statique n'est pas du tout géré, ils utilisent des plugins obligatoirement et il y a aussi d'autres fichiers externes (icônes notamment).
squalyl (./141) :
sinon te fais pas chier, c'est juste un proof of concept pour prouver qu'on peut utiliser TIGCC avec autre chose que TIGCC IDE 
Et tu perds:
* des switches par défaut raisonnables pour les nouveaux projets!!! Rien que pour ça, je déconseille totalement l'utilisation de la ligne de commande ou d'un EDI autre que TIGCC IDE ou KTIGCC: nos EDIs savent ce qu'est un nouveau projet et ce qui est un ancien projet réouvert, et ils appliquent automatiquement les options fortement conseillées (lire: si vous n'avez pas une très bonne raison de ne pas les mettre, c'est un bogue de ne pas les mettre!) pour les nouveaux projets. La ligne de commande est obligée de présupposer que tous les projets pourraient être d'anciens projets et donc garder la compatibilité antérieure, ce qui fait que les réglages par défaut sont totalement inutilisables et qu'il faut passer au minimum (sauf exceptions justifiées)
-Os -ffunction-sections -fdata-sections --optimize-code --cut-ranges --reorder-sections --merge-constants --remove-unused -Wall -Wextra -Wwrite-strings. L'EDI met aussi le MIN_AMS par défaut à 100 pour les nouveaux projets (optimal parce que ça ne nécessite pas de détection de la version minimale), pour les anciens projets et donc aussi en ligne de commande, le MIN_AMS par défaut est 101 pour des raisons de compatibilité.
* un EDI adapté à la tâche, qui présente toutes les fonctions utiles pour la programmation avec TIGCC (comme les dialogues des options du projet avec les options de TIGCCLIB, la complétion qui connaît les fonctions de TIGCCLIB etc.), et qui ne présente pas des fonctionnalités qui n'ont rien à voir, genre tout ce qui est spécifique au C++.
* l'intégration avec TiEmu et son débogueur C.
Bref, je ne comprends pas du tout cette manie de vouloir à tout prix utiliser autre chose que les EDIs que nous proposons. TIGCC est une solution complète, l'EDI en fait partie intégrante. Le compilateur en ligne de commande n'existe que pour la compatibilité avec les anciens projets, je déconseille absolument l'utilisation (même indirectement à travers un EDI qui n'est pas celui de TIGCC) pour tout nouveau projet. (Et attention, ça ne veut pas dire qu'il faut appeler les composants directement, ce n'est pas du tout supporté, ça crée des problèmes de portabilité (cf.
ld-tigcc qui n'existe pas en tant qu'exécutable sous W32) et les composants peuvent changer à tout moment sans avertissement.
tigcc et
tprbuilder sont les seules interfaces documentées pour la ligne de commande.)
Pollux (./142) :
- inversement si c'est linké statiquement et que le mainteneur suit les mises à jour de sécurité, il peut mettre à jour son logiciel pour les rares failles qui l'affecteront et les utilisateurs seront au courant
Si c'est linké dynamiquement, il peut demander une version minimale de la lib qui corrige la faille dans une mise à jour de l'application, et si la version est trop ancienne, relancer l'installeur de la lib (comme quand la lib est entièrement manquante). Donc ça marche tout aussi bien que dans le cas statique et toutes les autres applications qui partagent la même lib seront donc corrigées en même temps.
On n'est pas sur TI où un logiciel n'a aucun moyen de télécharger une lib mise à jour (le gros problème des libs dynamiques sur TI, il n'y a aucun moyen de résoudre les dépendances automatiquement).