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 :

include headers c dans un prog en c++


Sujet :

C++

Vue hybride

grabriel include headers c dans un... 23/04/2008, 12h27
hiko-seijuro euh stdio.h est un header C... 23/04/2008, 12h52
grabriel Je parle de l'include... 23/04/2008, 13h35
valefor Il y a vraiment trois petits... 23/04/2008, 13h39
grabriel :D parceque je suis fainéant!... 23/04/2008, 14h02
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Par défaut include headers c dans un prog en c++
    Bonjour,

    J'essaye d'utiliser vlc dans mon programme, j'ai trouvé sur un site que pour pouvoir includer des sources en c il fallait faire un extern "C" comme suit dans le code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #include <stdio.h>
    #include <windows.h>
     
    extern "C" {
       #include <vlc/libvlc.h>
    }
     
     
    int main() {
     
       return 0;
    }
    que je le fasse ou que je le fasse pas j'ai une erreur "...was not declred in this scope".

    Est-ce une erreur dûe au fait que le header soit en c et que mon compilateur compile du c++???
    Et comment résoudre cela?


    Merci!

  2. #2
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    euh stdio.h est un header C aussi :p

    plus sérieusement tu peux l'inclure sans passer par le extern "C"

  3. #3
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Par défaut
    plus sérieusement tu peux l'inclure sans passer par le extern "C"
    Je parle de l'include "#include <vlc/libvlc.h>" ligne 4 (sans compter les lignes vides).

    Justement j'ai fait un include "normal" et un include avec extern C et les deux me renvoient l'erreur : "...was not declred in this scope" qui pointe sur une ligne du header libvlc.h

    Est-ce que c'est une erreur dans le header?
    Est-ce qu'il faut faire une manip spéciale?

  4. #4
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    Il y a vraiment trois petits points ? Ou tu écris cela parceque tu en a trop ?

  5. #5
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Par défaut
    Citation Envoyé par valefor Voir le message
    Il y a vraiment trois petits points ? Ou tu écris cela parceque tu en a trop ?
    parceque je suis fainéant!

    Voila la totalité du message d'erreur :
    .\vlc\libvlc.h|33|warning: `vlc_key_to_action' initialized and declared `extern'|
    .\vlc\libvlc.h|33|error: `vlc_object_t' was not declared in this scope|
    .\vlc\libvlc.h|33|error: expected primary-expression before ',' token|
    .\vlc\libvlc.h|33|error: expected primary-expression before "const"|
    .\vlc\libvlc.h|34|error: `vlc_value_t' was not declared in this scope|

    ...

    .\vlc\libvlc.h|139|error: expected `;' before '*' token|
    .\vlc\libvlc.h|140|error: `vlc_mutex_t' does not name a type|
    .\vlc\libvlc.h|144|error: `vlc_thread_t' does not name a type|
    .\vlc\libvlc.h|145|error: `vlc_bool_t' does not name a type|
    ||More errors follow but not being shown.|
    ||Edit the max errors limit in compiler options...|
    ||=== Build finished: 50 errors, 2 warnings ===|
    les trois points au milieu c'est qu'il y'en a effectivement beaucoup.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #ifndef LIBVLC_LIBVLC_H
    # define LIBVLC_LIBVLC_H 1
     
    extern const char vlc_usage[];
     
    /* Hotkey stuff */
    extern const struct hotkey libvlc_hotkeys[];
    extern const size_t libvlc_hotkeys_size;
    extern int vlc_key_to_action (vlc_object_t *, const char *,
                                  vlc_value_t, vlc_value_t, void *);
    La ligne 33 correspond à l'avant dernière ligne : "extern int vlc_key_to_action (vlc_object_t *, const char *,"

  6. #6
    Membre Expert
    Avatar de hiko-seijuro
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 011
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 011
    Par défaut
    est ce que tu as linker la librairie correspondante ?

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

Discussions similaires

  1. [compil] #include <header> ou #include <head
    Par guejo dans le forum MFC
    Réponses: 5
    Dernier message: 02/06/2004, 15h31
  2. Comment peut on integer des controles dans un prog opengl
    Par franck31400 dans le forum OpenGL
    Réponses: 2
    Dernier message: 28/04/2004, 09h06
  3. [LG]tache en parrallèle dans un prog
    Par max_lupin dans le forum Langage
    Réponses: 4
    Dernier message: 25/02/2004, 18h38
  4. Réponses: 1
    Dernier message: 19/08/2003, 16h11
  5. [TP]Peut-on mettre un commande dos dans le prog?
    Par pierre olmes dans le forum Turbo Pascal
    Réponses: 22
    Dernier message: 24/05/2003, 22h28

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