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

Visual C++ Discussion :

.cpp et .c dans Visual C++


Sujet :

Visual C++

  1. #1
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Par défaut .cpp et .c dans Visual C++
    Jai un pb avec .cpp et .c,
    jai un exemple qui est fait en C, cet exemple contient Netica.h, NeticaEx.h, NeticaEx.c, Netica.lib, Netica.dll.

    pour le lib et dll pas de problem je les est ajoutès, le pb est dans NeticaEx.c, puisque il faut ajouter au début
    #include "Netica.h"
    #include "NeticaEx.h"

    mais NeticaEx.c est en C comment la rendre au c++, c-à-d en .cpp, quand je compile il me dit ça : unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?

    et quand je renome NeticaEx.c en NeticaEx.cpp il me dit la meme chose que precedement, sachant que ce NeticaEx.c contient des fonctions et il y'a aussi l'ajout des librairies tq #include <stdarg.h>.
    merci

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 394
    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 394
    Par défaut
    Ne renomme aucun fichier.

    Si tu veux faire un projet avec des sources C et C++, désactive les precompiled headers pour les fichiers sources C (project settings -> Onglet C/C++ -> Precompiled headers -> Not using).

    Sous Visual 6, tu peux créer un dossier dans ton projet et appliquer les réglages au dossier, il me semble. Sous 2005, il faudra appliquer ces propriétés aux fichiers C eux-mêmes.
    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.

  3. #3
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055

  4. #4
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Par défaut
    Je travail avec VisualStudio2005, il y'a pas sttings>precomplied,
    merci

  5. #5
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    clic droit proprietés , chapitre C/C++
    rubrique en-têtes précompilés ,dans la zone en correspondance à droite mettre :Sans utiliser les en-têtes précompilés

  6. #6
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Par défaut
    J'en est 3 Question:

    1:pourquoi linstruction MessageBox("Mon message"); marche dans mfc pout visual c++ 6.0 et ne marche pas pour Visual studio 2005, et est ce qu'il ya une insruction similaire qui affiche un message box dans visual Studio 2005?

    2:Quel est les avantage de developpez dans MFC ou Windows Forms applications, parceque jai essayer le meme code que jai decrit precedemnt ne marche pas dans windows forms application et marche dans mfc!!

    3.Comment générer un executable, qui s'execute dans n'importe quel machine sans installer Visual Studio?

    Merci

  7. #7
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    1) ca marche dans un projet MFC comme dans un projet winforms, il faut faire gaffe à utiliser le bon (MessageBox::Show pour .net, et MessageBox définit dans windows.h pour un projet MFC)

    2) Tout dépend, les avantages des MFC sont un framework complet sur le modèle document/vue, puissant, mais ne plaisant pas à tout le monde. Les winforms sont moins complet mais disposent de toutes les améliorations visuelles de .net et de sa facilité d'utilisation grace à l'ide de vs2005. Enfin bon, c'est une breve comparaison. Si tu es débutant, je te conseille les winforms. Sachant qu'il est possible de mixer les deux ensembles bien sur.

    3) Il faut distribuer un certains nombre de dll, dépendant du type du project (vcredist ou framework.net)

  8. #8
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Par défaut
    Merci baucoup pour ces réponses.
    Pour winforms quand je fais rubrique en-têtes précompilés ,dans la zone en correspondance à droite mettre :Sans utiliser les en-têtes précompilés
    il me dit l'erreur suivante :cannot compile C file '.\NeticaEx.c' with the /clr option, sachant qu'elle marche dans MFC à 1000%.
    pour message box dans WinForms jai essayé MessageBox::Show("dd"); et ça marche a merveille, vous pourrez me montrer comment le faire en utilisant MFC?
    juste une dernier question jai une application qui tourne a 100% dans les mfc et lorsque je fait la meme chose dans Winforms il me dit erreur:: error C2065: 'NULL' : undeclared identifier.
    merci

  9. #9
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    t'as du oublier d'inclure windows.h

    et il faut que tu désactives l'option /clr sur ton .c

  10. #10
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    492
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 492
    Par défaut
    ok,
    c'est normalement No Common Langage Runtime Support?
    il reste une uniqye erreur, il reconnait pas le mot clé NULL, il me dit cette erreur: error C2065: 'NULL' : undeclared identifier
    Pourtant dans MFC il reconnai et il s'execute normalment!!
    Merci

  11. #11
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 394
    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 394
    Par défaut
    NULL n'est pas un mot-clé, c'est un #define, donc dans un header.
    stddef.h, par exemple...
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ERREUR PRJ0019 dans visual -> ????
    Par cathar_rhythm dans le forum MFC
    Réponses: 1
    Dernier message: 07/06/2005, 14h00
  2. insertion d'une date dans visual foxpro
    Par yvescollet dans le forum Bases de données
    Réponses: 4
    Dernier message: 10/05/2005, 15h39
  3. Intégration d'un SDK dans Visual Basic
    Par <-NicO-> dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 25/02/2005, 22h53
  4. Comment utiliser Opengl dans Visual Basic 6
    Par fun31 dans le forum OpenGL
    Réponses: 1
    Dernier message: 03/12/2004, 10h17
  5. Version de Windows dans Visual Studio !!!
    Par Jasmine dans le forum MFC
    Réponses: 3
    Dernier message: 18/03/2004, 17h40

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