Bonjours a tous !
Il y a peut, j'utilisai windows 7 et visual c++, tout allais bien, irrlicht marchait comme je le voulait mais il y a peut je suis passé a linux (ubuntu), mais le résultat est completement différent, afin de vérifier que ça ne venait pas du compilateur (g++), j'ai essayé de porter touts sous le code::block de windows mais la encore un résultat différent, voici la liste des variantes que j'ai vu .
Visual C++ : tout marche comme je le veut
Code::Block Windows : moins rapide, certaines positions sont décalés, les évents sont un peut détraqués comme si les boutons était appuyé alors qu'il est relaché (il faut appuyer sur le bouton pour que le system comprenne qu'il est relâché), certains problèmes au niveau de l'animation de certains de mes nodes personnalisés
G++ Linux : catastrophique, lenteur incroyable, la lib standarts ne marche pas ou marche différemment en particulier la gestion des fichiers ...
Quelle est la solution a ces problèmes ?
Dernière modification par Ilovechocolat (20-07-2010 18:18:56)
Hors ligne
pour se qui est de la let=nteur sous linux il y a deux possibiliter: 1 pas les driver graphique ( opengl marche quand même cela dit mais pas d'acceleration ), la second beacoup moin probable est que tu soit en x86_64 et que tu utilise la lib irrlicht précompiler qui est elle en 32 cela dit gcc mais une erreur de linkage en générale, personnelement je boss sur la svn ... aucun soucis
pour se qui est de code::blocks et que se soit moin rapid je présume que tu a compiller irrlicht via vc++ mais que utilise cette lib avec code::blocks, j'ai vue souvent des topics qui parlais de ça, apperement vc++ a ces propre "adressage" quand il compile ... donc a tu recompiller irrlicht avec code::blocks avans de l'utiliser ? enfin cela dit j'ai aussi un probleme sous win7 avec la cameras fps et n'est pas vraiment trouver dous cela viens ... mais la gui semble bien marcher
au pire pour la lib standar tu mais a jours et gcc aussi ... bien que se ne doit être ça
Hors ligne
Merci ça venait bien des drivers de la cartes graphiques, quand a l'autre problème ben voici le code de la fonction qui analyse les fichiers (a savoir que sous windows, tout marche) :
la première partie (avant la boucle) est prise en compte, après ça ne marche plus .
Hors ligne
oui bon pour commencer il serait bon de laisser de côter la lib C surtout pour les chargement de fichier ( passe par iostream ou par les class irrlicht dans irr::io )
évite également strcmp passe plutôt par une class string pour comparer les chaine ( celle d'irrlicht est très bien irr::stringc je croix )
le mieux reste de passer par une sérialisation qui a fait c'est preuvent, je ne remais pas en question ton code ( quoi que ) mais je peut comprendre les problème de lecture des fichiers
exemple: ton buffer = char[200], tu veut lire fgets(chaine, 200, fichier); mais quand tu crée un buffer il faut prendre en compte que la grandeur = size-1 ( il compte le 0 )
autre example: sscanf(chaine, "%d ... que fait tu s'il y a des erreurs dans le fichier ? il est probable que le fichier ne soit pas entier ou autre et dans certain cas scanf/sscanf fait planter l'app.
donc personelement je te conseil de soit passer par tinyXML ( intégré a irrlicht ) ou faire ton "truc" de sérialisation/désérialisation se que j'ai fait
une class string + une class sérialise + une class qui décortique le fichier et une autre pour récupérer les donner dans se qui est décortiquer
dernier truc si cela plante entre win et linux ses due a la différence sur les retoure a la ligne qui ne sont pas écris pareil par l'os, windows prend 2caractère et linux un seul il me semble donc si tu a fait ton fichier sous windows sscanf auras un soucis, bien que tu ne voye pas la différence avec un éditeur enfin j'ai pas trop chercher le pourquoi du comment mais ses quelque chose dans le genre ... dou l'utilité de la sérialisation qui ignore se genre de désagrément
Hors ligne
TinyXML n'est pas intégré à Irrlicht, c'est IrrXML qui est intégré^^
Pour ce qui est des petits déconnages, c'est dû au compilo apparement - chez-moi aussi mes applications fonctionnent mieux lorsqu'elles sont compilées avec Visual C++.
Hors ligne