p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Invité de passage
    Inscrit en
    avril 2012
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : avril 2012
    Messages : 3
    Points : 0
    Points
    0

    Par défaut Librairies FlyCapture2 sur CodeBlocks

    Bonjour,
    Je dois réaliser une application utilisant l'API FlyCapture2 en C++.
    J'utilise donc CodeBlocks, sur Linux : aucun problème pour utiliser les librairies et compiler.
    Cependant, mon programme dois fonctionner sur Windows, je tente donc de mettre en place FlyCapture2 sur Windows avec CodeBlocks.
    J'ajoute les lib et le include avec les .h dans les "Global compiler setting". Comme j'ai fait sur linux.
    Cependant ici, lorsque je fais un petit essai de programme pour vérifier que les librairies fonctionnent, j'ai une erreur bizar :
    Voila mon petit programme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <iostream>
    #include "FlyCapture2.h"
    using namespace FlyCapture2;
     
    int main()
    {
        Error error;
        return 0;
    }
    Et voilà l'erreur :
    -------------- Build: Debug in TextFlyCap2 ---------------

    Compiling: main.cpp
    Linking console executable: bin\Debug\TextFlyCap2.exe
    obj\Debug\main.o: In function 'main':
    C:/Users/Romain/Documents/CodeBlocksDoss/TextFlyCap2/main.cpp:7: undefined reference to '_imp___ZN11FlyCapture25ErrorC1Ev'
    C:/Users/Romain/Documents/CodeBlocksDoss/TextFlyCap2/main.cpp:8: undefined reference to '_imp___ZN11FlyCapture25ErrorD1Ev'
    collect2: ld returned 1 exit status
    Process terminated with status 1 (0 minutes, 1 seconds)
    2 errors, 0 warnings
    J'ai tout essayé, je ne comprends pas. Je sais simplement que c'est le lien avec les librairies qui se fait mal...
    Comprenez vous cette erreur ?
    Merci d'avance

  2. #2
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Supaéro-Cesure : CERN, departement IT
    Inscrit en
    juin 2006
    Messages
    2 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23

    Informations professionnelles :
    Activité : Supaéro-Cesure : CERN, departement IT

    Informations forums :
    Inscription : juin 2006
    Messages : 2 303
    Points : 3 978
    Points
    3 978

    Par défaut

    Erreur de linker :
    Soit tu as mal lié la bibliothèque (cf ceci) soit c'est un "incompatibilité ABI" ie une bibliothèque compilé avec un certain compilateur peut ne pas marcher avec un autre compilateur. Attention : ceci peut même arriver avec juste une différence de version du compilateur !

    Bref: mon conseille regarde les options ou sinon essaye avec un autre compilateur (VSC++)
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  3. #3
    Invité de passage
    Inscrit en
    avril 2012
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : avril 2012
    Messages : 3
    Points : 0
    Points
    0

    Par défaut

    Justement, sur VSC++ j'ai réussi à compiler avec les mêmes bibliothèques.
    Ca fonctionne que sur VSC++ alors ?
    Je peux voir où les options de la librairie ?
    Sur codeBlocks je crois que j'ai vu qu'il était possible d'utiliser le compilateur de VSC++..

  4. #4
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Supaéro-Cesure : CERN, departement IT
    Inscrit en
    juin 2006
    Messages
    2 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23

    Informations professionnelles :
    Activité : Supaéro-Cesure : CERN, departement IT

    Informations forums :
    Inscription : juin 2006
    Messages : 2 303
    Points : 3 978
    Points
    3 978

    Par défaut

    Citation Envoyé par neoDico Voir le message
    Justement, sur VSC++ j'ai réussi à compiler avec les mêmes bibliothèques.
    Ca fonctionne que sur VSC++ alors ?
    C'est ce que je crains. A moins d'avoir les sources pour recompiler la lib avec g++.

    Citation Envoyé par neoDico Voir le message
    Je peux voir où les options de la librairie ?
    Sur codeBlocks je crois que j'ai vu qu'il était possible d'utiliser le compilateur de VSC++..
    Aucune idée, j'utilise pas d'IDE.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  5. #5
    Invité de passage
    Inscrit en
    avril 2012
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : avril 2012
    Messages : 3
    Points : 0
    Points
    0

    Par défaut .lib en .a

    Je n'ai pas les sources pour recompiler.
    Par contre j'ai vu des trucs à propos de l'outil reimp de MinGW qui permettrait de convertir les .lib de visual en .a utilisables par GCC.
    Cependant j'arrive pas à l'utiliser, la ligne de commande "reimp -d FlyCapture2.lib"
    ne donne rien du tout.

    Quelqu'un pourrait me les convertir ? Svp
    Je les ai mise là : http://uploading.com/files/54a69m6e/lib.rar/

Discussions similaires

  1. inclure pcap.h sur codeblocks
    Par zoumoizou dans le forum Linux
    Réponses: 1
    Dernier message: 23/01/2008, 19h38
  2. Probleme avec le debugger sur CodeBlocks
    Par Fred_ET dans le forum Code::Blocks
    Réponses: 4
    Dernier message: 07/11/2007, 13h44
  3. Installer la librairie JSON sur un hébergement mutualisé
    Par Tavarez59 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 27/09/2007, 14h43
  4. Pb de compilation sur VC++ mais pas sur CodeBlocks
    Par deubelte dans le forum Visual C++
    Réponses: 4
    Dernier message: 05/03/2007, 09h35
  5. [Librairies] [Lire sur un fichier Word ou PDF avec PHP]
    Par amatollah dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 10/05/2006, 07h58

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