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 :

erreur avec cmake


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Femme Profil pro
    retraite
    Inscrit en
    Avril 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : retraite

    Informations forums :
    Inscription : Avril 2018
    Messages : 10
    Par défaut erreur avec cmake
    bonjour,

    Je ne connais pas vraiment le c++

    Je veux compiler du c++
    $ cmake VVV-1.3-src/

    CMake Error at src/CMakeLists.txt:126 (message):
    Unable to find firebird interface

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
      find_library( FB_LIB libfbclient PATHS /usr/lib /usr/local/lib /opt/firebird/lib ${PROJECT_SOURCE_DIR}/firebird_runtime/firebird )
      if( NOT FB_LIB )
        message( FATAL_ERROR "Unable to find firebird interface" )
      else( NOT FB_LIB )
        message( STATUS "Firebird interface: " ${FB_LIB} )
      endif( NOT FB_LIB )
    Dans le cmakeliste, j'ai donc la ligne
    find_library( FB_LIB libfbclient PATHS /usr/lib /usr/local/lib /opt/firebird/lib ${PROJECT_SOURCE_DIR}/firebird_runtime/firebird )

    il fait une recherche de libfbclient dans /usr/lib ou /usr/local/lib ou /opt/firebird/lib ou ${PROJECT_SOURCE_DIR}/firebird_runtime/firebird

    vrai ou faux?

    ' FB_LIB libfbclient' => cela veut dire qu'il met libfbclient dans FB_LIB ?

    Merci pour votre aide
    Anne

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 157
    Billets dans le blog
    151
    Par défaut
    Bonjour,

    Il mettra bien la bibliothèque dans FB_LIB, mais pour régler votre problème (d'ailleurs, je ne sais pas si c'est que vous essayez de créer un CMakeList.txt ou d'en utiliser un existant) c'est qu'il ne trouve par firebird. Essayez d'installer le paquet libfirebird-dev (le nom peut être légèrement différent).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre régulier
    Femme Profil pro
    retraite
    Inscrit en
    Avril 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : retraite

    Informations forums :
    Inscription : Avril 2018
    Messages : 10
    Par défaut
    bonjour,

    merci pour la réponse.

    J'en suis un peu plus loin.

    mais pas vraiment

    Je suis sous linux, debian stretch..

    Je ne savais pas comment faire pour utiliser cmake en ligne de commande pour dire où je veux que les compilations arrivent (répertoire de destination).

    Il y a des CMakeLists.txt dans beaucoup de répertoire.

    J'essaie donc de compiler avec cmake gui.

    J'ai mis le chemin du code source et le chemin du code des binaires.

    Je clique sur configure.

    The C compiler identification is GNU 6.3.0
    The CXX compiler identification is GNU 6.3.0
    Check for working C compiler: /usr/bin/cc
    Check for working C compiler: /usr/bin/cc -- works
    Detecting C compiler ABI info
    Detecting C compiler ABI info - done
    Detecting C compile features
    Detecting C compile features - done
    Check for working CXX compiler: /usr/bin/c++
    Check for working CXX compiler: /usr/bin/c++ -- works
    Detecting CXX compiler ABI info
    Detecting CXX compiler ABI info - done
    Detecting CXX compile features
    Detecting CXX compile features - done
    Found wxWidgets: -L/usr/lib/x86_64-linux-gnu;-pthread;;;-lwx_gtk2u_html-3.0;-lwx_gtk2u_adv-3.0;-lwx_gtk2u_core-3.0;-lwx_baseu-3.0;-lwx_baseu_net-3.0;-lwx_gtk2u_aui-3.0;-lwx_gtk2u_xrc-3.0;-lwx_gtk2u_qa-3.0;-lwx_gtk2u_richtext-3.0 (found version "3.0.2")
    TagLib header files path: TAGLIB_INCLUDE_PATH-NOTFOUND
    TagLib: /usr/local/lib/libtag.a
    Firebird interface: /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/firebird_runtime/firebird/libfbembed.so
    Embedded firebird files path: FB_EMBEDDED_PATH-NOTFOUND
    (in red)
    CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
    Please set them or make sure they are set and tested correctly in the CMake files:
    TAGLIB_INCLUDE_PATH
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/ibpp
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/ibpp
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/ibpp
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/ibpp
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/ibpp
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/ibpp
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/ibpp
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/ibpp
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/ibpp/core
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/ibpp/core
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/ibpp/core
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/ibpp/core
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/ibpp/core
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/ibpp/core
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/ibpp/core
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/ibpp/core
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/ibpp/core
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/data_interface
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/data_interface
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/data_interface
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/data_interface
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/data_interface
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/data_interface
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/data_interface
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/data_interface
    used as include directory in directory /home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3-src/src/data_interface

    Configuring incomplete, errors occurred!
    See also "/home/anne/sda1/anne/Documents/anne/linux/vvv-5/VVV-1.3.0-x86_64/CMakeFiles/CMakeOutput.log".
    J'ai
    TagLib header files path: TAGLIB_INCLUDE_PATH-NOTFOUND
    Embedded firebird files path: FB_EMBEDDED_PATH-NOTFOUND

    Dans http://vvvapp.sourceforge.net/how_to_compile_vvv.html
    Il dit Voici une liste des variables qui doivent être définies:
    Mais comment définir ces variables?

    Je voulais compiler en lignes de commande mais je n'ai pas trouvé comment mettre le fichier des binaires.
    Man cmake : pas tout compris.

    Si quelqu'un pouvait m'aider.

    Je voulais faire un débogage.
    Comment faire?

    Merci
    Anne

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 157
    Billets dans le blog
    151
    Par défaut
    Vous devez définir les variables en question, dans CMake-gui.
    Pour utiliser cmake en ligne de commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cmake -G "Unix Makefiles"
    Qui prendra par défaut le répertoire courant pour trouver le CMakeLists.txt, et le répertoire courant pour produire les fichiers à générer.

    Une petite initiation, pour les développeurs, que j'avais écrit.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Membre régulier
    Femme Profil pro
    retraite
    Inscrit en
    Avril 2018
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : retraite

    Informations forums :
    Inscription : Avril 2018
    Messages : 10
    Par défaut
    Merci pour les liens.
    Mais je n'ai pas trouvé la réponse à mes question

    Pour TagLib header files path: TAGLIB_INCLUDE_PATH-NOTFOUND

    Dans le CMakeLists.txt, j'ai la ligne

    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
     
    # look for TagLib
    find_path( TAGLIB_INCLUDE_PATH tag.h DOC "Path to TagLib header files" )
    message( STATUS "TagLib header files path: " ${TAGLIB_INCLUDE_PATH} )
    if(WIN32)
      find_file( TAGLIB_LIB_PATH_DEBUG tagd.lib DOC "Path to the DEBUG TagLib library" )
      find_file( TAGLIB_LIB_PATH_RELEASE tag.lib DOC "Path to the RELEASE TagLib library" )
    else(WIN32)
      find_library( TAGLIB_LIB libtag.a PATHS /usr/lib /usr/local/lib )
      if( NOT TAGLIB_LIB )
        message( FATAL_ERROR "Unable to find TagLib" )
      else( NOT TAGLIB_LIB )
        message( STATUS "TagLib: " ${TAGLIB_LIB} )
      endif( NOT TAGLIB_LIB )
    endif(WIN32)
    La première ligne veut dire quoi exactement?

    J'ai compilé et installé taglib avec l'utilisateur anne.
    J'ai ajouté le groupe staff à anne pour ne pas compiler en root.
    Donc les fichiers compilés sont avec comme propriétaire et groupe anne.

    $ cmake -DBUILD_STATIC_LIBS=ON -DCMAKE_INSTALL_PREFIX=/usr/local .
    $ make
    $ make install
    [ 98%] Built target tag
    [100%] Built target tag_c
    Install the project...
    -- Install configuration: ""
    -- Installing: /usr/local/bin/taglib-config
    -- Installing: /usr/local/lib/pkgconfig/taglib.pc
    -- Installing: /usr/local/lib/libtag.a
    -- Installing: /usr/local/include/taglib/tag.h
    -- Installing: /usr/local/include/taglib/fileref.h
    -- Installing: /usr/local/include/taglib/audioproperties.h
    -- Installing: /usr/local/include/taglib/taglib_export.h
    -- Installing: /usr/local/include/taglib/taglib_config.h
    -- Installing: /usr/local/include/taglib/taglib.h
    ...
    -- Installing: /usr/local/include/taglib/xmfile.h
    -- Installing: /usr/local/include/taglib/xmproperties.h
    -- Installing: /usr/local/lib/libtag_c.a
    -- Installing: /usr/local/include/taglib/tag_c.h
    -- Installing: /usr/local/lib/pkgconfig/taglib_c.pc
    Donc cela a été installé dans /usr/local/include/taglib/

    Comment et ou mettre cela?

    Je me suis basée sur ce lien pour compiler VVV :
    http://vvvapp.sourceforge.net/how_to_compile_vvv.html

    J'ai dû raté un épisode.
    Anne

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 157
    Billets dans le blog
    151
    Par défaut
    Normalement, vous ne devriez pas trop chercher à lire le contenu des CMakeLists.txt et des dépendances. Lorsque vous avez une variable TRUCLIB qui n'est pas trouver, ou TRUCINCLUDE, cela veut dire qu'il vous manque le TRUC en question. Pour résoudre cela, vous pouvez installer le paquet libtruc-dev avec le gestionnaire de paquets. Ensuite, il vous suffit de relancer l'étape "configure" de CMake-gui (ou la commande cmake) et il devrait finalement trouver TRUC.
    Car en effet, CMake chercher les dépendances là où elles sont sensées être installées.

    Maintenant que vous avez installé taglib à la main, vous pouvez relancez CMake pour voir l'erreur suivante. Il devrait maintenant trouver taglib.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. Erreur de compilation avec cmake | JsonCpp et rabbitmqcpp
    Par akrogames dans le forum Débuter
    Réponses: 0
    Dernier message: 08/03/2014, 23h04
  2. Réponses: 0
    Dernier message: 30/10/2009, 18h13
  3. Problème avec cmake : signification d'une erreur
    Par G3G3 dans le forum Systèmes de compilation
    Réponses: 0
    Dernier message: 25/10/2007, 11h24
  4. Erreur avec les ADO
    Par megane dans le forum Bases de données
    Réponses: 7
    Dernier message: 08/03/2004, 21h37
  5. Erreur avec WM_COMMAND (BN_CLICKED)
    Par cyberlewis dans le forum Windows
    Réponses: 2
    Dernier message: 09/02/2004, 00h25

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