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

Code::Blocks Discussion :

Compilation réussi dans un dossier et impossible dans un autre dossier


Sujet :

Code::Blocks

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 15
    Points : 14
    Points
    14
    Par défaut Compilation réussi dans un dossier et impossible dans un autre dossier
    Bonjour à tous!

    J'ai installé la librairie ImageMagick afin de l'utiliser en C. Je créer un premier programme et sa compile sans warning. Donc je me sert de ce premier programme pour m'en servir de base pour un autre. Donc je fais un copier coller du fameux fichier, et en essayer de compiler le fichier et PAN! Warning et compilation impossible
    Est ce que quelqu'un parmi vous a rencontré un problème similaire ou pourrait m'indiquer comment résoudre ce problème assez gênant. J'ai peut être mal installé la librairie, mais c'est tellement mal documenté que je n'ai peut être pas fait sa correctement.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Points : 78
    Points
    78
    Par défaut
    Pourrais-tu nous en dire plus sur ces warnings?

    As tu inclus dans ton projet C::B le répertoire include contenant les headers de ta librairie?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    J'ai bien mis les includes dans mon fichier source. J'ai également rajouté la DLL dont j'ai besoin dans "linker setting".
    Dans "search directories" --> "compiler" , j'ai spécifié le répertoire qui contient les includes. Toujours dans "search directories" --> "compiler", j'ai rajouté le dossier qui contient les libs.
    Concernant les warning quand je compile dans d'autres dossiers, ben ce sont en gérénale des erreurs de prototypes.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Points : 78
    Points
    78
    Par défaut
    Pour le linker, tu ne rajoutes pas de DLL, mais le fichier .a si tu utilises gcc ou .lib si tu utilises le compilo microsoft.

    Toujours dans "search directories" --> "compiler", j'ai rajouté le dossier qui contient les libs.
    --> Ce répertoire doit être mis dans la partie linker puisque'il contient les librairies qui sont utilisées au moment du linkage

    Tu pourrais me copier une partie des warnings. Merci

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Alors en fait je me suis trompé quand j'ai écrit ce message. J'ai mis dans "search directories" --> "compiler" , j'ai spécifié le répertoire qui contient les includes. Et dans "search directories" --> "linker", j'ai spécifié le répertoire qui contient les libs.

    Sinon pour les warning j'obtient sa:

    Compiling: main.cpp
    C:\WORK 2\Stamp_detection\main.cpp: In function `char* gere_compteur(int)':
    C:\WORK 2\Stamp_detection\main.cpp:223: warning: unused variable 'indice'
    C:\WORK 2\Stamp_detection\main.cpp: In function `int multiframe_to_single_frame(float, char*, char*, char*, char*, int*, int*, int*, int*, char**)':
    C:\WORK 2\Stamp_detection\main.cpp:275: error: invalid conversion from `int' to `MagickBooleanType'
    C:\WORK 2\Stamp_detection\main.cpp:275: error: initializing argument 3 of `MagickBooleanType MagickWriteImages(MagickWand*, const char*, MagickBooleanType)'
    C:\WORK 2\Stamp_detection\main.cpp:286: error: invalid conversion from `int' to `MagickBooleanType'
    C:\WORK 2\Stamp_detection\main.cpp:286: error: initializing argument 3 of `MagickBooleanType MagickWriteImages(MagickWand*, const char*, MagickBooleanType)'
    C:\WORK 2\Stamp_detection\main.cpp:289: error: cannot convert `char***' to `char**' for argument `8' to `int stamp_detection(float, char*, char*, int*, int*, int*, int*, char**)'
    C:\WORK 2\Stamp_detection\main.cpp:299: error: invalid conversion from `int' to `MagickBooleanType'
    C:\WORK 2\Stamp_detection\main.cpp:299: error: initializing argument 3 of `MagickBooleanType MagickWriteImages(MagickWand*, const char*, MagickBooleanType)'
    C:\WORK 2\Stamp_detection\main.cpp: At global scope:
    C:\WORK 2\Stamp_detection\main.cpp:314: error: expected constructor, destructor, or type conversion before '(' token
    C:\WORK 2\Stamp_detection\main.cpp:315: error: expected constructor, destructor, or type conversion before '(' token
    C:\WORK 2\Stamp_detection\main.cpp:316: error: expected constructor, destructor, or type conversion before ';' token
    C:\WORK 2\Stamp_detection\main.cpp:317: error: expected unqualified-id before "return"
    C:\WORK 2\Stamp_detection\main.cpp:318: error: expected declaration before '}' token

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Points : 78
    Points
    78
    Par défaut
    Vu les erreurs et non pas les warnings, ça m'etonnerai que ton programme compile la première fois. Un prototype de fonction ne change pas d'un répertoire à l'autre.

    Tu devrais revoir les types des paramètres :
    C:\WORK 2\Stamp_detection\main.cpp:286: error: invalid conversion from `int' to `MagickBooleanType'
    ...
    C:\WORK 2\Stamp_detection\main.cpp:289: error: cannot convert `char***' to `char**' for argument `8' to `int stamp_detection(float, char*, char*, int*, int*, int*, int*, char**)'
    C:\WORK 2\Stamp_detection\main.cpp:299: error: invalid conversion from `int' to `MagickBooleanType'
    C:\WORK 2\Stamp_detection\main.cpp:299: error: initializing argument 3 of `MagickBooleanType MagickWriteImages(MagickWand*, const char*, MagickBooleanType)'

Discussions similaires

  1. Compilation impossible dans un switch
    Par poussinvert dans le forum Android
    Réponses: 5
    Dernier message: 02/04/2012, 00h34
  2. Réponses: 3
    Dernier message: 21/02/2011, 23h40
  3. Réponses: 22
    Dernier message: 09/12/2005, 09h01
  4. Saisie impossible dans un TdbEdit
    Par deubal dans le forum Bases de données
    Réponses: 4
    Dernier message: 16/11/2005, 12h32
  5. [OmniMark 5] Copier contenu d'un dossier dans autre dossier
    Par Hoegaarden dans le forum Autres langages
    Réponses: 3
    Dernier message: 24/08/2005, 16h59

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