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

MFC Discussion :

Erreur de compilation


Sujet :

MFC

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut Erreur de compilation
    Salut.

    Désolé pour le titre mais je le fais générique car je sent que je vais souvent repasser par la.

    J'ai une formation d'info robotique et je touche au C++. Mais on a jamais fais de Visual c++ et co.

    Donc le coup des MFC et tout le reste ca a été dur, et meme si je pense en avoir compris 0.1% on dira que ca va.

    Pour l'instant j'ai des problème de compréhension d'un programme. En fait pour mon stage, je dois réaliser un programme qui traite une image de caméra. une apprication pour récupé l'image était fourni, mais le hic et que ca ne compile pas et ca a été fais sou visual .net

    Je ne pense pas que les problème vienne spécialement de la car j'ai réattaqué le code avec en ajouttant juste ce qu'il fallait.

    L'erreur qui me bloque depuis quelque jour est la suivant :

    --------------------Configuration: test12E - Win32 Debug--------------------
    Compiling...
    test12EDlg.cpp
    Linking...
    test12EDlg.obj : error LNK2001: unresolved external symbol _CreateCVBAVIRec@0
    Debug/test12E.exe : fatal error LNK1120: 1 unresolved externals
    Error executing link.exe.

    test12E.exe - 2 error(s), 0 warning(s)

    Pour voir ou est ce qu'il ne trouvait pas le lien, j'ai recherché dans mon projet les occurence. J'ai trouvé ca :

    D:\test12E\icvAVIRec.h(58):IMPORT(CVBAVIREC) CreateCVBAVIRec ( void );
    Ensuite j'ai recherché sur le pc tout se qui s'appelait icvAVIRec et a par ce fichier.h je ne trouve rien d'autre.

    Mes questions:
    1. est ce que je fais bonne route
    2. est ce que le fichier a forcement le meme nom que le .h
    3. que signifie ce import sans # ???


    Merci d'avance.

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    Personne pour expliquer le IMPORT au moins ?

  3. #3
    Membre chevronné Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Par défaut
    Citation Envoyé par croc14
    Personne pour expliquer le IMPORT au moins ?
    Connais pas, regarde si tu as un #define IMPORT quelque part.

    CVBAVIREC, c'est une dll ? tu as ajouté CVBAVIREC.lib au projet ?

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    justement, c'est des import sans #

    il serait plus interessant de mettre le tout.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    icvAVIRec.h
     
    /*************************************************************
                  Volker Gimple, STEMMER IMAGING GmbH                       
    --------------------------------------------------------------
     
            Filename    : icvAVIRec.h
            Date        : 30.05.02
            Description     : 
            Created by      : Volker Gimple
            Revision    : 1.0
     
      ToDo: -
     
    *************************************************************/
     
    #include <icvcimg.h>
     
     
    #ifndef CVAVIREC_INCLUDED
    #define CVAVIREC_INCLUDED
     
     
    // Object type definitions
    typedef void* CVBAVIREC;
     
    // definition of errors
    #define CVC_E_INVALIDIMAGE                      17
    #define CVC_E_ALREADY_INITIALIZED               300
    #define CVC_E_NOT_ALL_SETTINGS_DEFINED          301
    #define CVC_E_CANNOT_CREATE_COMPRESSOR          302
    #define CVC_E_QUERYINTERFACE_FAILED             303
    #define CVC_E_ADDFILTER_FAILED                  304
    #define CVC_E_PIN_ACCESS_FAILED                 305
    #define CVC_E_CONNECTION_FAILED                 306
    #define CVC_E_COMPRESSOR_HAS_NO_PROPERTY_PAGES  307
    #define CVC_E_COMPRESSIONFILTER_NONEXISTENT     308
    #define CVC_E_NOT_INITIALIZED                   309
    #define CVC_E_UNKNOWN_OLE_ERROR                 310
    #define CVC_E_OPERATION_NOT_POSSIBLE_NOW        311
    #define CVC_E_OUTPUTFILE_IN_USE                 312
    #define CVC_E_AVI_FILE_EXISTS                   313
    #define CVC_E_INVALID_IN_THIS_MODE              314
     
    // definition of acquisition modes
    #define CVB_AVI_ACQ_NONE                       -1
    #define CVB_AVI_ACQ_Automatic_SingleSnap        0
    #define CVB_AVI_ACQ_Automatic_PingPong          1
    #define CVB_AVI_ACQ_FrameByFrame                2
     
    // definition of recorder states
    #define CVB_RECORDER_STATE_NONE                -1
    #define CVB_RECORDER_STATE_Initialized          0
    #define CVB_RECORDER_STATE_Running              1
    #define CVB_RECORDER_STATE_Paused               2
     
     
    // Recorder Creation and Destruction
    // ---------------------------------
    IMPORT(CVBAVIREC)         CreateCVBAVIRec                    ( void );                                          // create an AVI recorder
    IMPORT(CVBAVIREC)         CreateCVBAVIRecEx                  ( IMG Image );                                     // create and initialize an AVI recorder
    IMPORT(void)              DestroyCVBAVIRec                   ( CVBAVIREC &Recorder );                           // destroy a recorder
     
    // State enquiry and setting
    // -------------------------
    IMPORT(BOOL)              CVBAVIRecGetIsReadyToInitialize    ( CVBAVIREC Recorder );                            // returns TRUE if the recorder is ready to run
    IMPORT(long)              CVBAVIRecGetNumCompressorsFound    ( CVBAVIREC Recorder );                            // returns the number of DirectShow video compressors on the machine
    IMPORT(ULONG)             CVBAVIRecGetCompressorName         ( CVBAVIREC Recorder, long Index, PCHAR strName ); // fills the name of the compressor with Index into strName
    IMPORT(ULONG)             CVBAVIRecSetCurrentCompressor      ( CVBAVIREC Recorder, long Index );                // select the compressor to be used
    IMPORT(long)              CVBAVIRecGetCurrentCompressor      ( CVBAVIREC Recorder );                            // retrieve the currently selected video compressor
    IMPORT(ULONG)             CVBAVIRecSelectCompressorByDialog  ( CVBAVIREC Recorder );                            // displays a dialog for compressor selection
    IMPORT(long)              CVBAVIRecGetRunLevel               ( CVBAVIREC Recorder );                            // retrieves the current runlevel of the recorder
     
    // Parameter setting and getting
    // -----------------------------
    IMPORT(IMG)               CVBAVIRecGetImage                  ( CVBAVIREC Recorder );                            // retrieve the currently set image for recording
    IMPORT(ULONG)             CVBAVIRecSetImage                  ( CVBAVIREC Recorder, IMG Image );                 // set the image for recording
    IMPORT(long)              CVBAVIRecGetCurrentFrameTime       ( CVBAVIREC Recorder );                            // retrieve the frame time currently used by the recorder
    IMPORT(long)              CVBAVIRecGetDefaultFrameTime       ( CVBAVIREC Recorder );                            // retrieve the user defined default frame time
    IMPORT(ULONG)             CVBAVIRecSetDefaultFrameTime       ( CVBAVIREC Recorder, long Time );                 // set the default frame time to be used
    IMPORT(long)              CVBAVIRecGetLastFrameCompressionTime( CVBAVIREC Recorder );
    IMPORT(long)              CVBAVIRecGetMinFrameTime           ( CVBAVIREC Recorder );                            // retrieve the user defined minimum frame time
    IMPORT(ULONG)             CVBAVIRecSetMinFrameTime           ( CVBAVIREC Recorder, long Time );                 // set the minimum frame time to be used
    IMPORT(long)              CVBAVIRecGetMaxFrameTime           ( CVBAVIREC Recorder );                            // retrieve the user defined minimum frame time
    IMPORT(ULONG)             CVBAVIRecSetMaxFrameTime           ( CVBAVIREC Recorder, long Time );                 // set the minimum frame time to be used
    IMPORT(BOOL)              CVBAVIRecGetIgnoreQualityMessages  ( CVBAVIREC Recorder );                            // checks, whether the CVB source filter reacts to DShow quality feedback
    IMPORT(ULONG)             CVBAVIRecSetIgnoreQualityMessages  ( CVBAVIREC Recorder, BOOL Set );                  // specifies, whether the CVB source filter should react to DShow quality feedback
    IMPORT(long)              CVBAVIRecGetRedPlane               ( CVBAVIREC Recorder );                            // queries the currently set red colour plane
    IMPORT(long)              CVBAVIRecGetGreenPlane             ( CVBAVIREC Recorder );                            // queries the currently set green colour plane
    IMPORT(long)              CVBAVIRecGetBluePlane              ( CVBAVIREC Recorder );                            // queries the currently set blue colour plane
    IMPORT(ULONG)             CVBAVIRecSetRedPlane               ( CVBAVIREC Recorder, long Plane );                // specify the red colour plane
    IMPORT(ULONG)             CVBAVIRecSetGreenPlane             ( CVBAVIREC Recorder, long Plane );                // specify the green colour plane
    IMPORT(ULONG)             CVBAVIRecSetBluePlane              ( CVBAVIREC Recorder, long Plane );                // specify the blue colour plane
    IMPORT(BOOL)              CVBAVIRecGetIsRealTimeStream       ( CVBAVIREC Recorder );                            // query if the stream is to be recorded as a realtime stream
    IMPORT(ULONG)             CVBAVIRecSetIsRealTimeStream       ( CVBAVIREC Recorder, BOOL Set );                  // specifies if the stream is to be recorded as a realtime stream
    IMPORT(long)              CVBAVIRecGetNumDroppedFrames       ( CVBAVIREC Recorder );                            // retrieve the number of dropped frames
    IMPORT(ULONG)             CVBAVIRecResetDroppedFramesCounter ( CVBAVIREC Recorder );                            // reset the dropped frames counter to zero
    IMPORT(long)              CVBAVIRecGetNumTakenFrames         ( CVBAVIREC Recorder );                            // retrieve the number of taken frames
    IMPORT(ULONG)             CVBAVIRecResetTakenFramesCounter   ( CVBAVIREC Recorder );                            // reset the taken frames counter to zero
    IMPORT(long)              CVBAVIRecGetAVIFileNameLength      ( CVBAVIREC Recorder );                            // retrieve the length of the currently set AVI file name
    IMPORT(long)              CVBAVIRecGetAVIFileName            ( CVBAVIREC Recorder, PCHAR strName );             // retrieve the currently set AVI file name
    IMPORT(ULONG)             CVBAVIRecSetAVIFileName            ( CVBAVIREC Recorder, PCHAR strName, BOOL Overwrite ); // specify a new AVI file name
     
    // AVI acquisition control
    // -----------------------
    IMPORT(long)              CVBAVIRecGetAcquisitionMode        ( CVBAVIREC Recorder );                            // retrieve the current acquisition mode
    IMPORT(ULONG)             CVBAVIRecSetAcquisitionMode        ( CVBAVIREC Recorder, long Mode );                 // specify the acquisition mode to be used
    IMPORT(ULONG)             CVBAVIRecInitRecording             ( CVBAVIREC Recorder );                            // initialize the recorder for recording
    IMPORT(BOOL)              CVBAVIRecGetCompressorHasPropPages ( CVBAVIREC Recorder );                            // query if the recorder has property pages
    IMPORT(ULONG)             CVBAVIRecShowCompressorPropPages   ( CVBAVIREC Recorder );                            // show the property pages the video compressor has
    IMPORT(ULONG)             CVBAVIRecStartRecording            ( CVBAVIREC Recorder );                            // start the recording of an avi file
    // for future use (does nothing so far...)
    //IMPORT(ULONG)             CVBAVIRecPauseRecording            ( CVBAVIREC Recorder );                            // pause the recording of the current avi file
    IMPORT(ULONG)             CVBAVIRecStopRecording             ( CVBAVIREC Recorder );                            // stop the current recording
    IMPORT(ULONG)             CVBAVIRecCleanupRecording          ( CVBAVIREC Recorder );                            // clean up the recorder state, so that new setting of video compressors is possible
    IMPORT(ULONG)             CVBAVIRecAddFrame                  ( CVBAVIREC Recorder, BOOL IsLastFrame );          // add one frame in frame by frame mode
    IMPORT(long)              CVBAVIRecGetImageSnapedHandle      ( CVBAVIREC Recorder );
    IMPORT(ULONG)             CVBAVIRecTestCompressionSpeed      ( CVBAVIREC Recorder, long NumFrames, long &Time );
     
     
    #endif
    et j'ai remarqué que c'etait dans plusieur fichier qu'il y avais des IMPORT comme ca.

  5. #5
    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
    le IMPORT correspond ptet à une macro ecrite par les membres de ton projet

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    ca fais partie d'un produit "common vion blox" et elle serait ou ces macro ? car j'ai chercher dans tout les fichiers que j'ai dans le projet et j'ai rien trouvé.

  7. #7
    Membre chevronné Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Par défaut
    Je dirais que IMPORT correspond à :

    #define IMPORT(type) __declspec( dllimport ) type
    Est-ce que tu utilises une dll ?

  8. #8
    Membre chevronné Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Par défaut
    Citation Envoyé par croc14
    ca fais partie d'un produit "common vion blox" et elle serait ou ces macro ? car j'ai chercher dans tout les fichiers que j'ai dans le projet et j'ai rien trouvé.
    Et dans les options du projet ?

  9. #9
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    c'est a moi cette ligne ?

    Ce qui resemble le plus c'est

    cvAVIRec.ocx
    cvAVIRec.dll

    mais les dll j'en ai plaint dans le projet car ca utilise plain de librairie payant (je precise que je suis en stage ... la) [common vision, imasys ..]

    Peux etre que je ne les inclu pas bien. Il a du mal a me les trouver en général, et pour y arrivé je met tout dans le repertoire, et la il se debrouille. Mais peux etre que je ne fais pas un truc de bien dans la config de visual !!!???

  10. #10
    Membre chevronné Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Par défaut
    As-tu un cvAVIRec.lib ?

    Si oui rajoutes cette ligne dans ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #pragma comment( lib, "cvAVIRec.lib" )

  11. #11
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    oui !!!

    Boudiou c'est ca !!!


    Merci l'ami ...

  12. #12
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    les #pragma comment( lib, "cvAVIRec.lib" )

    ca n'existe plus en visual .net ?

    car eux il ne le mette pas !!!

  13. #13
    Membre chevronné Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Par défaut
    Citation Envoyé par croc14
    les #pragma comment( lib, "cvAVIRec.lib" )

    ca n'existe plus en visual .net ?

    car eux il ne le mette pas !!!
    On peut ajouter un .lib dans les options du projet.

  14. #14
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2006
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 350
    Par défaut
    ok

    Je te remerci encore une fois, ton aide m'a été précieuse.

    encore merci

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

Discussions similaires

  1. Erreur de compilation après modification du Uses
    Par DevelOpeR13 dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2007, 14h23
  2. Réponses: 2
    Dernier message: 23/09/2003, 14h32
  3. Réponses: 10
    Dernier message: 22/09/2003, 21h58
  4. Réponses: 4
    Dernier message: 27/08/2003, 21h34
  5. Réponses: 2
    Dernier message: 04/03/2003, 23h24

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