begin process at 2012 02 10 20:14:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Autre

 > 

problème entre compilateurs


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problème entre compilateurs

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ée 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 Compilation DLL [ par anjopa ] Bonjour, J'ai un soucis avec un bout de code qui fonctionne dans visual studio 6 mais pas dans visual studio 2010... Voici le code : MATRIXDLL_API Visual Studio 2008 x64 et procedure __asm [ par ld121962 ] Bonjour, Je voudrais passer un code de win32 en x64. A la compilation j'ai un message me disant que le mot clef "__asm, mov, etc.." sont inconnus. Q Mode release [ par galax98 ] Bonjour Je travaille sous Visual c++ 2008 Express et j'ai 2 petites questions J'ai fait une application qui utilise une dll. Ayant besoin de faire q SFML et visual studio 2008 c++ [ par tiouil ] Bonjour, j'utilise visual c++ 2008 express et lorsque je compile mon programme, il ne genere pas d'erreur ni de warning mais il m'affiche un message : ouvrir des codes sources C visual studio 2008 avec 2010 [ par luckyalan ] bonjour, j'ai créé des codes sources en langage C avec Visual Studio 2008 express puis-je les ouvrir et les modifier avec la version 2010 express et q problème visual studio et opencv [ par isil4 ] Bonjour, j'ai l'erreur : 1>main.cpp 1>c:\opencvold\include\opencv\cv.h(63) : fatal error C1083: Cannot open include file: 'opencv2/core/core_c.h': error PRJ0002 [ par aymen87 ] Bonjour Je suis en train de développer une dll en c sous Visual studio 2008. J'ai fait une dll de test (helloworld),le compilateur a fonctionné corre Portage programme sous visual 2005 vers seven [ par thomas50000 ] Bonjour à tous, J'essaye de faire passer un programme développé sous visual 2005 et XP vers seven. La release et le debug se compilent bien mais j'ai


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,218 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales