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 :

C++.Net et natif dans une meme solution


Sujet :

VC++ .NET

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    20
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 20
    Par d�faut C++.Net et natif dans une meme solution
    Alors voila le topo.
    J'ai un projet nomm� "ETPC" en C++ natif qui se compile parfaitement bien.
    J'ai un autre projet nomm� "ETPC_tester" en C++ CLR qui marche tr�s bien aussi.

    Maintenant, je voudrais utiliser ETPC dans ETPC_tester. J'ai cr�e une solution qui contient les deux projets.

    Dans le fichier TextEditor.h du projet ETPC_tester, je voudrais utiliser les variables/classes qui sont dans Tokenizer.h du projet ETPC. J'ai donc mis
    #include "Tokenizer.h" dans TextEditor.h

    il dit qu'il voit pas le fichier "Tokenizer.h". Si j'inclus les repertoires du projet ETPC dans la configuration du projet ETPC_tester, bien sur il voit le fichier, mais il dit qu'il ne trouve pas les variables externes.

    Comment on configure tout �a pour que ca marche?

  2. #2
    Membre exp�riment�
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    238
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 238
    Par d�faut
    Dans ton projet .Net tu doit ajouter la r�f�rence de ton prog C++ natif.
    Bouton droit sur r�f�rences dans l'explorateur de solution --> Add References. Tu dois pouvoir choper soit dans l'onglet "projet" le projet C++ natif soit dans l'onglet "Browse" la DLL ou l'exe de ton ancien projet.

    Une fois que c'est fiat tu peux faitr les includes n�cessaires dans tes diff�rents fichier.

    Bonne chance

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    20
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 20
    Par d�faut
    Ca marche pas.. j'avais d�j� essay�.

    ca me met:
    Error 1 fatal error C1083: Cannot open include file: 'Tokenizer.h': No such file or directory c:\documents and settings\onur\mes documents\visual studio 2005\projects\etpc_tester\etpc_tester\TextEditor.h 10


  4. #4
    Membre �m�rite
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    D�tails du profil
    Informations personnelles :
    �ge : 56
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Par d�faut
    Je suppose que le projet ETPC natif g�n�re une DLL.

    Pour l'utiliser dans un projet manag� ou non, il faut un fichier .h (d�finitions et prototypes de la DLL) et un fichier .lib g�n�r� en m�me temps que la DLL.

    Il faut inclure le fichier .h dans le projet de test et r�f�rencer le .lib pour le lier au projet (on peut en plus les copier dans le dossier du projet).
    Pour r�f�rencer un .lib dans Visual C++ 2005, il faut ouvrir les propri�t�s du projet (menu Project/Properties), ensuite ouvrir Configuration Properties/Linker/Input/Additional Dependencies et ajouter le nom du fichier .lib.

  5. #5
    DrQ
    DrQ est d�connect�
    Membre �m�rite
    Avatar de DrQ
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    388
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 388
    Par d�faut
    Par rapport � ce que dis NicolasG, une petite remarque, cela ne marche que si le .lib et ton projet MC++ sont compiler avec la m�me version du compilateur.

    Par exemple un .lib fait avec VC++ 6 ne peut �tre utilis� avec VC++ 2003.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    20
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 20
    Par d�faut
    non mon code natif cr�e un .exe

    En fait, dans ETPC il y a un LectureFichier.cpp qui contient un main,
    et utilise les autres fichiers de ce projet en faisant des #include.

    et dans ETPC_tester, je voudrais faire comme le LectureFichier.cpp de ETPC, faire des #include et utiliser les classes etc.
    Je ne peux donc pas faire un gros fichier .h, d'autant plus que toutes mes classes sont bien d�finies avec un fichier .h pour chacune.

    Edit: ajout: En fait, je voudrais pouvoir utiliser toutes les classes de ETPC, que ca soit en ajoutant un projet non manag� ou directement en mettant les fichiers dans le projet manag� (mais dans ce cas, le compilo n'est pas content.. alors que c++ clr est cens� etre cr�e pour justement faire du .NET et etre compatible avec du code c++ existant )

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. appel entre 2 projets silverlight dans une meme solution
    Par Etudiante_Ines dans le forum Silverlight
    R�ponses: 3
    Dernier message: 28/04/2011, 17h31
  2. Find et mv dans une même commande
    Par Yann21 dans le forum Linux
    R�ponses: 3
    Dernier message: 28/02/2005, 10h49
  3. R�ponses: 4
    Dernier message: 15/10/2004, 07h56
  4. [VB.NET] Objet .Tag dans une ListView
    Par Lois dans le forum Windows Forms
    R�ponses: 7
    Dernier message: 12/10/2004, 16h35
  5. [VB.NET] Disparition scrollBar dans une DataGrid
    Par aphykite dans le forum Windows Forms
    R�ponses: 4
    Dernier message: 06/10/2004, 10h29

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