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 :

Compilation modulaire avec code block


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2016
    Messages : 6
    Par défaut Compilation modulaire avec code block
    Bonjour,

    Je développe deux applications identiques a partir de code block l'une en "mode" console et la seconde en mode "API WINDOW", le principe le "Coeur" des deux applis est spécifique l'une exploite un main() avec les E/S standard du C et l'autre une WINMAIN(..) et a coté des fichiers *.h et *.C contenant les fonctions communes.

    L'appel a une fonction dans l'application console est bien compilée débuggée et fonctionne, mais l'appli API refuse de compiler avec cette même fonction.

    Dans les deux cas la fonction "void CreateMushroomCard(&Fiche, buffer[FileSize]);" est définie par un prototype dans un *.h, le code dans un fichier *.C

    Et les deux fichiers sont integres aux deux projets ainsi que le fichier *.h correspondant.

    Y a t'il une "astuce" particuliere dans le cas d'une appli API pour faire de la compilation séparée ou modulaire?*

    Merci

  2. #2
    Membre Expert
    Inscrit en
    Mars 2005
    Messages
    1 431
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 1 431
    Par défaut
    Quelle est l'erreur rencontrée ?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2016
    Messages : 6
    Par défaut Compilation modulaire avec code block
    Bonjour

    Pour mettre en évidence et chercher une issue j'ai creer une fonction void toto(void) qui copie une variable dans une autre. Voila l'erreur produite

    obj\Release\main.o:main.cpp|| undefined reference to `toto()'

    En fait l'appli code::block API WIN est en C++ fichier CPP et l'appli code::block console en C. Je pense que le compilateur ne comprends pas l'appel a la fonction ecrite en C!

    Bien cordialement

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2016
    Messages : 6
    Par défaut
    Pour faire disparaître l'erreur de compilation, il faut :

    Déclarer les fonctions C comme ceci dans le main CPP.

    extern "C" void toto(void);
    extern "C" void CreateMushroomCard(struct champignon **, char);

    Si ces déclarations sont faites dans le *.h l'erreur de compilation subsiste même avoir déplacer la déclaration dans le main CPP et placer les anciennes déclaration figurant dans le *.h en commentaire. La ligne commentaire doit être détruite et le fichier sauvegarder avant de relancer la compilation.

    Merci pour l'aide

Discussions similaires

  1. [Windows 10] Programme qui ne se lance pas
    Par MasterSinge dans le forum Code::Blocks
    Réponses: 8
    Dernier message: 26/09/2016, 20h08
  2. Problème de compilation C avec Code::Blocks
    Par Onimanta dans le forum Débuter
    Réponses: 14
    Dernier message: 14/04/2011, 08h03
  3. [Installation DirectX]Compiler avec Code::Blocks
    Par elmodeno dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 03/11/2007, 18h01
  4. Erreur compilation avec Code Blocks
    Par Ulver dans le forum wxWidgets
    Réponses: 3
    Dernier message: 10/04/2007, 22h26
  5. [kjAPI] Compilation avec Code::Blocks
    Par ThomasCh dans le forum Moteurs 3D
    Réponses: 5
    Dernier message: 17/10/2006, 09h01

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