IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Transposer un programme en MFC VC2005 en VC2013


Sujet :

C++

  1. #1
    Membre �prouv� Avatar de Flow_75
    Femme Profil pro
    Ing�nieure
    Inscrit en
    Mai 2005
    Messages
    1 100
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    �ge : 42
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 100
    Par d�faut Transposer un programme en MFC VC2005 en VC2013
    Bonjour,

    J'ai un probl�me concernant un programme qui se trouve avoir �t� concu sur VC2005 (il y a 20 ans~).
    Je souhaite pouvoir le compiler sous vc2013.

    J'ai plein d'erreurs concernant les boucles for o� le d�veloppeur de l'�poque pouvait faire cela sans soucis :
    C'est a dire d�clarer un it�rateur (variable j pour ce cas l�) sans d�clarer le type.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    		for(j = 0;j < NB_COURBE_PER_ONGLET;j++) {
    			if(m_CTvm.m_rTvmVue1.rVue1[i].sVoieCourbe[j] == m_iVoieIndiceTvm) {
    				m_CTvm.m_rTvmVue1.rVue1[i].sVoieCourbe[j]	= -1;
    			}
    Ne souhaitant pas vraiment tout me retaper car il doit avoir une cinquantaine de fichier source, n'y a t-il pas un moyen
    de dire au compilateur soit de lui faire compiler le code sous une version anterieure du c++ ou avec une autre methode ?

    Merci.
    F.

  2. #2
    Mod�rateur

    Avatar de Bktero
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par d�faut
    Bonjour,

    Tu peux nous montrer le message d'erreur exact pour une telle ligne ?

  3. #3
    Expert confirm�
    Homme Profil pro
    Ing�nieur d�veloppement mat�riel �lectronique
    Inscrit en
    D�cembre 2015
    Messages
    1 599
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement mat�riel �lectronique
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : D�cembre 2015
    Messages : 1 599
    Par d�faut
    Bonjour,

    Depuis toujours le type est obligatoire. Ce qui a chang� c'est qu'une variable d�clar� entre les parenth�ses du for dispara�t � la fin de du bloc. Pr�c�demment une variable restait active jusqu'� la fin du bloc qui contient le for. Tu doit avoir plusieurs boucles qui utilisent la variable j, et cette variable n'est d�clar�e qu'au moment de la premi�re boucle.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    for ( int j = 0 ; j < 10 ; ++j ) {
    }
    for ( j = 0 ; j < 10 ; ++j ) {  // devient erreur j non déclaré
    }
    printf("j=%d" , j ); // devient erreur j non déclaré
     
    // Correctif
    //=======
    int j;
    for ( j = 0 ; j < 10 ; ++j ) {
    }
    for ( j = 0 ; j < 10 ; ++j ) {  // ok
    }
    printf("j=%d" , j ); // ok

  4. #4
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    D'ailleurs, c'�tait d�j� par d�faut le cas dans Visual 2005, donc le code doit �tre ant�rieur � cela.
    Dans les propri�t�s du projet -> C/C++ -> Language -> option "Force Conformance In For Loop Scope".
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre �clair�
    Inscrit en
    Avril 2005
    Messages
    1 110
    D�tails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Par d�faut
    Au point o� on en est, autant passer � VS2017 ou m�me VS2019.

    Il y trois ans, j'ai recup�r� une douzaine de projets �crits en VS6 pour certains et VS2005 pour d'autres. Le code �tait souvent du genre "C with classes". J'ai tout pass� en revue pour que le code satisfasse au mieux les derniers standards. 3 � 4 mois plus tard ils ont �t� valid�s pour passer en production. Au passage j'ai corrig� quelques bugs et fuites de m�moire, j'ai assis mon expertise en C++ (ainsi qu'en quelques librairies tierces, algos, et subtilit�s de codage), et, surtout, je me suis amus� comme un petit fou .

Discussions similaires

  1. Mon premier programme en MFC: Probl�me de 8 reines
    Par Dũng chim dans le forum MFC
    R�ponses: 0
    Dernier message: 16/12/2008, 15h50
  2. R�ponses: 18
    Dernier message: 16/03/2005, 17h22
  3. R�ponses: 2
    Dernier message: 04/06/2004, 10h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo