Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : problème entre compilateurs [ Windows / Autre ] (GrandGarfield)

mardi 19 février 2008 à 18:02:41 | problème entre compilateurs

GrandGarfield

Bonjour, j'ai développé une application C++ qui fait intervenir des lectures et écritures dans des fichiers textes. J'ai en fait commencé le développement simplement dans notepad++ et je compilais en ligne de commande avec g++ -o. Le programme grandissant, je l'ai passé pour des raisons pratiques dans Visual Studio 2008 Express. (Projet vide dans lequel j'ai simplement mis mes source et fait générer) Aucun problème jusque là, tout marche. Il faut maintenant que j'intègre mon code dans un autre codé sous VC++6 et utilisant les MFC. Je décide donc déjà de passer mon code sous Visual Studio 2005 pro que j'ai sur une autre machine (même méthode projet vide et j'y mets mes sources). La compilation fonctionne mais le résultat n'est plus du tout bon. Voici un exemple où je constate les dégâts (code en fin de message) : Il s'agit en fait de lire la facettes dans un fichiers VRML qui sont écrites sous la forme : a, b, c, -1, (a,b,c étant des int qui représentent les sommets de la facettes et -1 un caractère délimiteur pour indiquer que la facette s'arrête.) La fin du bloc de facettes se termine par un ] à la place d'une virgule après le -1. Le bout de code suivant lit à chaque fois un entier (a) , un char (,), un entier (b), un char (,), un entier (c), un char (,), un entier (-1), un char (, ou ] ) Il met ensuite les données recueillies dans des structures pour les traiter après. Il s'arrête à la rencontre du caractère ']' En compilant le programme contenant ce bout de code en ligne de commande g++ -o ... tout fonctionne et j'ai les bonnes données dans mes structures. En particulier le message "facette non triangulaire rencontrée " ne s'affiche jamais Mais le programme fourni par visual studio affiche systématiquement le message avec des valeurs i,j,k,l tout le temps identiques (3350360,0,1244372,3342336). Je sollicite donc votre aide si quelqu'un sait pourquoi le compilateur de Visual Studio 2005 pro ne fait pas des programmes qui lisent les fichiers de la même facon que g++ ou celui de VS2008 express et si on peut arranger le code pour que ça fonctionne... (Note : je n'ai pas retouché le code entre les changement d'EDI il s'agit exactement des même fichiers sources dans toutes les descriptions que j'ai faites par ailleurs je ne sais pas si ça compte mais j'ai essayé de n'utiliser aucune fonctions "C" donc pas de fopen, fread, de gets, de fscanf ou quoi que ce soit du genre) Merci d'avance. Extrait du code : if(s.find("coordIndex") != string::npos && s[0]!='#'){ while(c!=']'){ fichier>>i>>c>>j>>c>>k>>c>>l>>c; if(l!=-1){ cout << "facette non triangulaire rencontrée" << " i,j,k,l : " << i << "," << j << "," << k << "," << l << endl ; } m.addFace(IndexFacette(i,j,k)); ligne++; } c='a'; }

mardi 19 février 2008 à 20:56:53 | Re : problème entre compilateurs

gvollant

Membre Club Administrateur CodeS-SourceS
Difficile d'avoir une idée définitive, mais une hypothèse : est ce qu'une version n'aurait pas été compilée en unicode?

mercredi 20 février 2008 à 11:23:52 | Re : problème entre compilateurs

GrandGarfield

Bonjour,

merci pour cette idée mais ça ne semble pas être ça.

Le projet n'était pas en unicode, j'ai essayé en le mettant mais ça ne change rien...



mercredi 20 février 2008 à 11:28:01 | Re : problème entre compilateurs

gvollant

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Essayez à la fois dans le projet VS2008 (qui fonctionne) et VS2005 de faire une fonction qui va créer en sortie un fichier avec des valeurs numériques, en utilisant la même famille de fonction que ce que vous utilisez pour lire le fichier, et ensuite de comparer les 2 fichiers produits

jeudi 21 février 2008 à 16:55:27 | Re : problème entre compilateurs

GrandGarfield

Merci, en suivant cette idée j'ai trouvé un moyen de contourner le problème.

En fait quelques lignes plus haut il y a sensiblement le même type de lecture mais avec des variables double et cela marchait très bien. ( J'ai fait en fait réecrire les valeurs lues dans un fichier )
Les variables i,j,k et l étaient des int dans le code au-dessus car c'est bien des int que je veux lire et que le programme lisait bien jusque là.
J'ai donc mis mes variables i,j,k et l en double pour la lecture et je les ai casté après en int.
C'est assez moche et ça n'explique pas la raison du problème mais ça marche en attendant de trouver mieux ...

Merci pour votre aide



Cette discussion est classé dans : code, visual, fichiers, entier, studio


Répondre à ce message

Sujets en rapport avec ce message

Classe CString & Visual Studio [ par talamasca ] Tout d'abord, bien le bonjour.Mon problème est lié au CString MFC et/ou visual studio et/ou à la qualité du code que je vient de reprendre.Les symptom C en C++ [ par lildan ] Bonjour tout le monde, j'ai pris un code source sur ce site qui m'intéressait et j'ai voulu le modifier pour mon usage personnel. Ce code source est e winsock: 64 erreurs [ par Tibabou ] Bonjour/soir,J'avais fait un code qui fonctionnait très bien en mode console, j'ai tenter de l'adapter sur une apllication windows et voilà toutes les Dessiner sous Visual Studio C++ [ par KryztL ] Bonjour,J ai actuellement un programme a faire et entre autre chose, il faudrait qu il dessine un cercle mais sans passer par la fonction pDC->Ellipse convertion chaine de caractere commencant par 0 en entier [ par humnanamouch ] bonjourEn fait j'ai une chaine de caractere avec 8 chiffres qui correspond à un code ascii et je voudrais pouvoir recuperer  le caractere qui correspo utilisation de visual studio [ par elroulianito ] Dans visual studio 2003 il n'y a plus le classwizard de vs6. Alors comment fait on pour avoir accés aux event disponibles d'une boite de dialogue?Exem <<< Ip Adress Control >>> ? Comment gérer le formulaire d'IP sur Visual Studio ? [ par nico23 ] >> Comment gérer le formulaire d'IP sur Visual Studio ? ________________| . . . ||________________|Je voudrais pouvoir mettre bug visual ? [ par magic_Nono ] petit test:au sein d'une classe, définissez un opérateur de cast vers char*exemple operator char*() { if(i_taille==0) return ""; Impossible d'installer Service Pack 6 de visual Studio [ par simpat ] Bonjour a tous, Je n'arrives pas a installer le service pack6 de visual studio. Lorsque je lance setupsp6.exe, le message d'erreur suivant apparait : installation visual studio [ par jade02 ] Coucou tout le monde, voila j'essaye d'installer Visual Studio 6 et Windows XP m'affiche ce message d'erreur : " C:\WINDOWS\SYSTEMS32\AUTOEXEC.NT. The


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,499 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.