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

VC++ .NET Discussion :

Migrations de codes MFC de Visual 6.0 vers Visual studio 2005


Sujet :

VC++ .NET

  1. #1
    Candidat au Club
    Inscrit en
    Ao�t 2006
    Messages
    3
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 3
    Par d�faut Migrations de codes MFC de Visual 6.0 vers Visual studio 2005
    Bonjour,

    depuis quelque temps, j'essaie de migrer une application d�velopp� sous visual 6.0 vers visual studio 2005.
    Je me suis donc servit du tutorial de Farscape, mais je me retrouve toujours avec des erreurs de link dont je n'ai aucune id�e !!!

    N'�tant pas un sp�cialiste de visual C++, je tourne en rond depuis quelques jours !!!
    Merci pour votre aide si quelqu'un � une id�e.

    Voici les erreurs g�n�r�es :
    �ditioDXLOSn des liens en cours...
    LINK : warning LNK4075: ' /EDITANDCONTINUE' ignor� � cause de la sp�cification '/INCREMENTAL:NO'
    DialResultatListe.obj : error LNK2019: symbole externe non r�solu "__declspec(dllimport) public: int __thiscall CListCtrlEx::AddItem(class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > > const &,class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > > const &,int const &,int const &)" (__imp_?AddItem@CListCtrlEx@@QAEHABV?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@0ABH1@Z) r�f�renc� dans la fonction "public: class CSubstance * __thiscall CDialResultatListe::GetSubstanceSelected(void)" (?GetSubstanceSelected@CDialResultatListe@@QAEPAVCSubstance@@XZ)
    DialArchivage.obj : error LNK2019: symbole externe non r�solu "__declspec(dllimport) public: int __thiscall CListCtrlEx::AddItem(class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > > const &,class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > > const &,int const &,int const &)" (__imp_?AddItem@CListCtrlEx@@QAEHABV?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@0ABH1@Z) r�f�renc� dans la fonction "public: void __thiscall CDialArchivage::UpdateList(void)" (?UpdateList@CDialArchivage@@QAEXXZ)
    DialCommunication.obj : error LNK2001: symbole externe non r�solu "__declspec(dllimport) public: int __thiscall CListCtrlEx::AddItem(class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > > const &,class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > > const &,int const &,int const &)" (__imp_?AddItem@CListCtrlEx@@QAEHABV?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@0ABH1@Z)
    DialControle.obj : error LNK2001: symbole externe non r�solu "__declspec(dllimport) public: int __thiscall CListCtrlEx::AddItem(class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > > const &,class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > > const &,int const &,int const &)" (__imp_?AddItem@CListCtrlEx@@QAEHABV?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@0ABH1@Z)
    DialLibrary.obj : error LNK2001: symbole externe non r�solu "__declspec(dllimport) public: int __thiscall CListCtrlEx::AddItem(class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > > const &,class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > > const &,int const &,int const &)" (__imp_?AddItem@CListCtrlEx@@QAEHABV?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@0ABH1@Z)
    DXLOS.obj : error LNK2019: symbole externe non r�solu _SQLConfigDataSource@16 r�f�renc� dans la fonction "public: int __thiscall CDXLOSApp::AddODBCText(void)" (?AddODBCText@CDXLOSApp@@QAEHXZ)
    ../Common/dll/DXLOS_debug.exe : fatal error LNK1120: 2 externes non r�solus

  2. #2
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 290
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4 290
    Billets dans le blog
    2
    Par d�faut
    Bonjour,

    as-tu v�rifi� que ton projet est configur� en "Multi-Byte"? Car Visual2005 le met, par d�faut, en Unicode. (propri�t�s du projet -> General -> Character set)

  3. #3
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par d�faut
    Mais l�, on dirait bien que ce n'est pas le probl�me : Erreur d'�dition de liens, on dirait qu'il manque les biblioth�ques MFC...

    Euh... Dis-moi, tu as quelle �dition de Visual 2005 ? Car l'�dition Express n'a pas MFC...
    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.

  4. #4
    r0d
    r0d est d�connect�
    Membre exp�riment�

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Ao�t 2004
    Messages
    4 290
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Ao�t 2004
    Messages : 4 290
    Billets dans le blog
    2
    Par d�faut
    Citation Envoy� par M�dinoc
    Mais l�, on dirait bien que ce n'est pas le probl�me : Erreur d'�dition de liens, on dirait qu'il manque les biblioth�ques MFC...
    Je ne sais pas trop mais:
    ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > > const &,class ATL::CStringT<char,class StrTraitMFC_DLL<char,class ATL::ChTraitsCRT<char> > > const &,int const &,int const &)"
    Si le compilo cherche des liens vers l'ATL, c'est qu'il y a un probl�me au niveau des options de compilation non?

  5. #5
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par d�faut
    Non, les CString sont pass�es de MFC � ATL avec la version 7.0 ou 7.1.
    � ce sujet, elles sont devenues le template CStringT, avec ses sp�cialisations : CStringA, CStringW et CString qui �quivaut � l'une ou l'autre.

    Et comme souvent avec les biblioth�ques, le template n'est pas inline mais d�fini ailleurs (j'ignore si c'est standard ou une extension, mais gcc fait la m�me chose).
    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.

  6. #6
    Candidat au Club
    Inscrit en
    Ao�t 2006
    Messages
    3
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 3
    Par d�faut
    Merci pour vos r�ponses.
    A propos de la configuration de mon projet, effectivement je suis bien en "Multi-Byte" -> "jeu de caract�res : Utiliser le jeu de caract�res multioctet (MBCS)"

    Je pense comme M�dinoc que c'est un probl�me avec les biblioth�ques MFC.
    Par ailleur j'ai pu r�soudre le probl�me de la d�rni�re erreur sur SQLConfigDataSource en r�f�ren�ant la lib "ODBCCP32.lib" dans les d�pendances suppl�mentaires (propri�t�s du projet -> General -> �diteur de liens -> entr�e ); mais en ce qui concerne les autres erreurs, je planche toujours dessus.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    40
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 40
    Par d�faut
    Tu as regard� les librairies dont d�pend ton projet dans les settings sous VC6 ?
    Elles y sont bien toutes aussi sous VC8 ?

    Normalement quand tu fais la migration il met tout comme il faut au moment de la conversion. Mais bon on ne sait jamais....

    N'oublie pas non plus de recompiler avec VC8 toutes les librairies dont d�pend ton projet sinon tu risque d'avoir de mauvaises surprises.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 9
    Par d�faut
    Bonjour,

    je suis un petit nouveau ici, et j'aimerai savoir comment obtenir la bibliotheque MFC, car j'ai moi aussi des projects VC6 que j'aimerai migr� sous VC2005.

    Je n'ai que la version Express pour l'instant qui me sert donc a rien. La seul solution est d'acheter la version complete?

    Merci
    Christian

  9. #9
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par d�faut
    J'en ai peur.

    Ou bien, si tu es �tudiant et que ta fac a un contrat avec MSDN Academic Alliance, il est possible d'obtenir gratuitement et en toute l�galit� des produits Microsoft dont VS2005 Pro (pas la version Team, par contre) qui contient MFC, ATL, les �diteurs de ressources, etc (pour un usage non-commercial uniquement, �videmment).
    ...Et de les conserver l�galement m�me en n'�tant plus �tudiant (seules les mises � jour sont suppos�es �tre inaccessibles).

    Mais si tu n'as pas �a, ben... J'ai bien peur que tu doives l'acheter.
    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.

  10. #10
    Candidat au Club
    Inscrit en
    Ao�t 2006
    Messages
    3
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2006
    Messages : 3
    Par d�faut
    Bonjour,

    A propos de ma version, c'est une version d'�valuation de 180 jours (Team Suite).
    En principe mon entreprise doit l'acheter !

    Voici les informations :

    Microsoft Visual Studio 2005
    Version 8.0.50727.42 (RTM.050727-4200)
    Microsoft .NET Framework
    Version 2.0.50727

    �dition install�e : Enterprise

    Microsoft Visual Basic 2005 77924-204-0000007-41523
    Microsoft Visual Basic 2005

    Microsoft Visual C# 2005 77924-204-0000007-41523
    Microsoft Visual C# 2005

    Microsoft Visual C++ 2005 77924-204-0000007-41523
    Microsoft Visual C++ 2005

    Microsoft Visual J# 2005 77924-204-0000007-41523
    Microsoft Visual J# 2005

    Microsoft Visual Studio Tools pour Office 77924-204-0000007-41523
    Microsoft Visual Studio Tools for the Microsoft Office System

    Microsoft Visual Web Developer 2005 77924-204-0000007-41523
    Microsoft Visual Web Developer 2005

    Visual Studio 2005 Team Edition for Architects 77924-204-0000007-41523
    Microsoft Visual Studio 2005 Team Edition for Software Architects

    Visual Studio 2005 Team Edition for Developers 77924-204-0000007-41523
    Microsoft Visual Studio 2005 Team Edition for Software Developers

    Visual Studio 2005 Team Edition for Testers 77924-204-0000007-41523
    Microsoft Visual Studio 2005 Team Edition for Software Testers

    Crystal Reports AAC6G-G0CSA4K-U7000P7
    Crystal Reports pour Visual Studio 2005


    SQL Server Analysis Services
    Microsoft SQL Server Analysis Services Designer
    Version 9.00.1399.00

    SQL Server Integration Services
    Microsoft SQL Server Integration Services Designer
    Version 9.00.1399.00

    SQL Server Reporting Services
    Microsoft SQL Server Reporting Services Designers
    Version 9.00.1399.00


    C'est la version entreprise qui est install�e donc en principe elle prend en charge les MFC.
    De plus, il est possible d'afficher les fen�tres avec tous les composants et notamment ce fameux "CListCtrlEx" qui pose probl�me au link.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 9
    Par d�faut
    Citation Envoy� par M�dinoc
    J'en ai peur.

    Mais si tu n'as pas �a, ben... J'ai bien peur que tu doives l'acheter.

    Merci c'est bien ce que je pensais, je suis plus etudiant et ma version vc6 (officiel) ma suffit pour l'instant pour mon usage perso.

    Concernant MFC: y a-t'il des nouvelles classes sympatiques dans la version livr�e avec vc2005 par rapport a la version de vc6?

  12. #12
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    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 395
    Par d�faut
    Ben d�j�, il y a la classe CString remplac�e par le template ATL::CStringT depuis MFC 7...

    Avec les constructeurs qui acceptent directement une cha�ne dans les deux formats. La conversion ANSI <--> unicode <--> TCHAR (dans n'importe quel sens) se fait en une ligne et sans avoir besoin du moindre #define!
    • ATL::CStringT : Le template
    • CString : CStringT< TCHAR > (ce qui rend la CString parfaitement compatible avec les anciens programmes)
    • CStringA : CString< char >
    • CStringW : CStringT< wchar_t >


    Id�al pour ceux qui programment en TCHAR et qui se retrouvent avec des fonctions n'acceptant qu'un seul des deux formats.

    Il y a aussi quelques fonctions sympas ajout�es aux CStringT.
    Pour les autres classes, je ne sais pas trop, j'utilise assez peu MFC et je m'en suis surtout rendu compte pour �a...
    Bien s�r, il y a aussi quelques breaking changes, qu'on peut trouver sur l'aide MSDN.

    Par contre, au niveau de l'IDE, je regrette le ClassWizard, disparu (si je me souviens bien) depuis Visual Studio .Net 2003, au profit du volet de propri�t�s comme en VB.


    PS: Au sujet de la CString transf�r�e de MFC � ATL : Cela rend MFC et ATL d'autant plus ins�parables, ce qui a quand m�me certains avantages.
    D�j�, pour les assertions, tu peux oublier le ASSERT() de MFC au profit de ATLASSERT() qui a le m�rite d'afficher l'expression qui a �chou� : C'est g�n�ralement plus explicite qu'un simple num�ro de ligne.

    PS: Tiens, j'ai trouv� le bon lien:
    http://msdn2.microsoft.com/en-us/library/y8bt6w34.aspx
    Et l�, ce sont seulement les diff�rences entre MFC 7 et 8.
    Je crois bien que VC6 contenait seulement MFC 4.2...
    Edit: Et voil� la pr�quelle:
    http://msdn.microsoft.com/library/de...alcnet2003.asp
    http://msdn.microsoft.com/library/de...svisualc70.asp (tu trouveras CStringT en cliquant sur le lien Shared Classes)
    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.

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Ao�t 2006
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2006
    Messages : 9
    Par d�faut
    MErci

Discussions similaires

  1. passage de visual 6.0 vers visual 2010
    Par voltron1984 dans le forum C++
    R�ponses: 2
    Dernier message: 27/10/2010, 16h49
  2. visual 6.0 vers visual studio 2005
    Par jojo000 dans le forum Langage
    R�ponses: 15
    Dernier message: 04/01/2010, 10h27
  3. Passage de visual C++ express vers visual Studio pro
    Par Arnaud Malabeux dans le forum MFC
    R�ponses: 11
    Dernier message: 02/06/2006, 08h33
  4. Migration de bases de donn�es de My SQL vers SQL Server 2005
    Par thvphan dans le forum MS SQL Server
    R�ponses: 2
    Dernier message: 29/04/2006, 13h34

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