Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1457 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  VSC++.net cohabitions code Managé dans du non managé?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VSC++.net cohabitions code Managé dans du non managé?

n°989657
darksqual
Posté le 22-02-2005 à 11:57:56  profilanswer
 

Bonjour,
 Actuellement je crée un projet sur visual C++.net et j'utilise les class MFC qui est du code non managé.
je souhaite utilisé les class qui gérer les XML tel que XmlTextWriter et XmlDocment mais je crois (et j'espère que j'ai tors) que ces class ne peuvent être utiliser que dans du code managé.
Il est possible d’utiliser les 2 types de code dans le même projet mais je n'y suis pas arrivé.
 
Les références pour utiliser ces class dans un projet managé sont les suivant:
   
#using <mscorlib.dll>
#using <System.xml.dll>
 
using namespace System;
using namespace System::Xml;
using namespace System::Collections;
 
Lorsque je l'ajoute dans mon projet le compilateur me donne une error:
Le code ciblé est mangé et requiert #using <mscorlib.dll> et l'option '/clr'

Es que vous pouvez l'expliquer comment inclure les class XmlTextWriter et XmlDocment dans mon projet. Ou me proposé une autre solutions.
Merci de vos retours d'expérience et vos prestigieuses intuitions.


Message édité par darksqual le 23-02-2005 à 12:50:24
mood
Publicité
Posté le 22-02-2005 à 11:57:56  profilanswer
 

n°991063
darksqual
Posté le 23-02-2005 à 12:49:56  profilanswer
 

effectivement il est possible de faire cohabite le code non managé et le code managé, mais il faut partir d'un projet managé. mon probleme actuellement est de migrer mon projet MFC dans un projet vide C++ managé.


Message édité par darksqual le 23-02-2005 à 12:51:19
n°991066
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 23-02-2005 à 12:55:30  profilanswer
 

ben ou est le problème :??:
tu fais un copier/coller dans un projet managé et puis voila


---------------
J'ai un string dans l'array (Paris Hilton)
n°991102
HelloWorld
Salut tout le monde!
Posté le 23-02-2005 à 13:29:05  profilanswer
 

Propriétés du projet->Général->Utilisation des extensions managées : oui (/clr)


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°991198
darksqual
Posté le 23-02-2005 à 14:10:32  profilanswer
 

Harkonnen a écrit :

ben ou est le problème :??:
Tu fais un copier/coller dans un projet managé et puis voila


J’ai effective fait un copier coller mais ca ne marche pas. J’ai le message d'erreur suivant:
error LNK2019: symbole externe non résolu _main référencé dans la fonction _mainCRTStartup
 
j'ai pensé que le compilateur ne trouvait pas le point d'entrer;
 
Dans mon projet le point d'entrer est la déclaration d'une class dérivé de Winapp;
 
CServeurSocketApp theApp;
 
pour compiler j'ai remplace cette ligne par les suivantes:
int main(void)
{
CServeurSocketApp theApp;
}

Et lorsque que j'exécute le projet et que j'ignore tous les messages d'erreur, le projet marche parfaitement. :whistle:  

HelloWorld a écrit :

Propriétés du projet->Général->Utilisation des extensions managées : oui (/clr)


J'ai aussi essaié également cette possibilité et le compilateur m'affiche le message d'erreur suivant:
ligne de commande error : option de ligne de commande '/RTC1  et /CLR non compatibles
 
 
Merci bien.
Avez vous d'autre suggestion


Message édité par darksqual le 23-02-2005 à 14:11:14
n°991217
HelloWorld
Salut tout le monde!
Posté le 23-02-2005 à 14:19:39  profilanswer
 

Tu as créé un projet console, il s'attend à avoir main().
Pour ton erreur, change voir tes settings dans project->C/C++->Génération de code:Vérifications de base à l'exécution. Normalement sur "Par défaut" ça passe.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°991357
darksqual
Posté le 23-02-2005 à 15:23:04  profilanswer
 

Les deux projets sont différents.
 
Pour le premier j'ai tenter copier coller d'un projet MFC
(Et non console) dans un projet vide C++ managé. c'est pour celui ci qu'il ne trouve pas le point d'entrer.
 
Pour le second je suis parti du même projet MFC (et non console) en rajoutant un code Managé.  
Et c'est ici que j'ai une erreur:  
Le code ciblé est mangé et requiert #using <mscorlib.dll> et l'option '/clr'
 
Si on s'était déjà bien compris,
 
J’ai fais le changement et j'ai une autre erreur:
ligne de commande error : option de ligne de commande '/GM  et /CLR non compatibles
 
j'ai pallié a ce problème en modifiant les settings dans project->C/C++->Génération de code:Activation de la régénération minimale,qui avait comme valeur oui(/GM) par non.
 et de nouveau une autre erreur:
ligne de commande error : option de ligne de commande '/ZI  et /CLR non compatibles
 
je ne sais plus quoi faire. :cry:

n°991570
HelloWorld
Salut tout le monde!
Posté le 23-02-2005 à 17:11:34  profilanswer
 

Tu modifies tes settings jusqu'à ce que ça passe
http://msdn.microsoft.com/library/ [...] _2f.Zi.asp


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
n°991677
darksqual
Posté le 23-02-2005 à 18:35:50  profilanswer
 

Enfin ça marche. Je ne sais pas si les modifications sont aux normes  mais ça marche. Cependant pour moi à cette instant c’est l’essentiel Merci pour vos suggestion et un grand merci à [HelloWorld].
Pour tout ceux qui veulent ajouter de code C++ manager dans un projet MFC(aux code non managé), et qui rencontre les même difficultées que moi, voici les modifications faites dans les settings (propriété du projet) en fonction des différents messages d’erreur rencontrés dans l'ordre.
 
Changement effectuer setting :
 
Le code ciblé est mangé et requiert #using <mscorlib.dll> et l'option '/clr'  
- Général->utilisation des extensions managées : Oui
- C/C++->Général->Compilation comme code managé : pris en charge des assemblys
 
Ligne de commande error : option de ligne de commande '/RTC1  et /CLR non compatibles
 
- C/C++->Génération de code->vérification de base à l’exécution : par défaut
 
ligne de commande error : option de ligne de commande '/GM  et /CLR non compatibles
 
- C/C++->Génération de code->activation de la régénération minimale : non
ligne de commande error : option de ligne de commande '/ZI  et /CLR non compatibles
 
- C/C++->Général->format des informations de débogage : Base de données du programme (/Zi)


Message édité par darksqual le 24-02-2005 à 10:56:09

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  VSC++.net cohabitions code Managé dans du non managé?

 

Sujets relatifs
probleme de codeCode HTML rotation image
Mon code ne fionctionne pas, prob instanciation de class??Fonction tri qui plante mon code
Empecher dream weaver de modifier l'indentation du code ?[J2ME] probleme de code réseau
Multi-CSS, code PHP pour en changer, et le conserverCode anti-popup
Création de macro pour utliser du code vbPartage du code source entre développeur.
Plus de sujets relatifs à : VSC++.net cohabitions code Managé dans du non managé?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR