1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    novembre 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2011
    Messages : 17
    Points : 18
    Points
    18

    Par défaut Undefined reference to 'cv::function_name' sous ubuntu 11.10 avec openCV 2.4.2

    Salam, Bonsoir

    J'utilise OpenCV 2.4.2 sous ubuntu 11.10 et genom 2 ( du package robotpkg développé par le laboratoire LAAS)
    J'essaye d'installer un module en utilisant make make install, dans le code du module, des fonctions de librairie OpenCV sont utilisées. À chaque référence à celles-ci j'ai l'erreur Undefined reference suivi du nom de la fonction.
    J'ai déja essayé OpenCV avec des programmes simples. Je compilait avec la commande

    g++ `pkg-config --cflags opencv` my_code.cpp -o my_code `pkg-config --libs opencv

    et ça fonctionne correctement.

    L'enête du programme contient:

    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
    #include <portLib.h>
     
    #include "server/targdetHeader.h"
    #include <portLib.h>
    #include <cv.h>
    #include <highgui.h>
     
    #include "/home/amina/src/openrobots/include/opencv2/imgproc/imgproc.hpp"
    #include "/home/amina/src/openrobots/include/opencv2/objdetect/objdetect.hpp"
    #include "/home/amina/src/openrobots/include/opencv2/highgui/highgui.hpp"
     
    #include <stdio.h>
    #include <h2timeLib.h>
    #include <time.h>
    #include <iostream>
    #include <fstream>
    #include <string>
     
    #include <viam/viamStruct.h>
    les variables PATH, PKGCONFIG et LD_LIBRARY_PATH sont normalement bien configuré dans les fichiers .bashrc et /etc/bash.bashrc

    Toute indication est la bienvenue, merci d'avance

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


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

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

    Informations forums :
    Inscription : mai 2008
    Messages : 22 491
    Points : 155 397
    Points
    155 397
    Billets dans le blog
    10

    Par défaut

    Bonjour,

    Citation Envoyé par mimya1 Voir le message
    g++ `pkg-config --cflags opencv` my_code.cpp -o my_code `pkg-config --libs opencv
    Il manque un '`'.
    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 à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    novembre 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2011
    Messages : 17
    Points : 18
    Points
    18

    Par défaut

    oui, c'est une erreur de copie, mais actuellement je n'utilise pas cette commande. J'essaye d'installer un module en utilisant ./configure, make et make install
    Lors de l'utilisation du make j'ai des erreurs relatives aux fonctions d'OpenCV ( undefined reference to cv::function_name)

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


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

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

    Informations forums :
    Inscription : mai 2008
    Messages : 22 491
    Points : 155 397
    Points
    155 397
    Billets dans le blog
    10

    Par défaut

    Alors, c'est que vous n'avez pas demander aux autotools de rajouter la bibliothèque.
    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 à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    novembre 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2011
    Messages : 17
    Points : 18
    Points
    18

    Par défaut

    Quels autotools? J'ai déjà mentionné que j'ai j'ai rajouté le chemin de la librairie dans les fichier .bashrc et bash.bashrc ( variables PKG_CONFIG, LD_LIBRARY_PATH et PATH)

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


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

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

    Informations forums :
    Inscription : mai 2008
    Messages : 22 491
    Points : 155 397
    Points
    155 397
    Billets dans le blog
    10

    Par défaut

    Cela ne suffit pas, il faut spécifier au compilateur qu'il doit utiliser le .so de OpenCV.
    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.

  7. #7
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    novembre 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2011
    Messages : 17
    Points : 18
    Points
    18

    Par défaut

    Je le fais avec g++n mais je ne sais pas comment le faire avec make, tu n'auras pas une idée?

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


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

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

    Informations forums :
    Inscription : mai 2008
    Messages : 22 491
    Points : 155 397
    Points
    155 397
    Billets dans le blog
    10

    Par défaut

    A priori, vous utilisez autotools : http://www-igm.univ-mlv.fr/~dr/XPOSE/Breugnot/ (qui lui génère le makefile)
    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.

  9. #9
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    novembre 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2011
    Messages : 17
    Points : 18
    Points
    18

    Par défaut

    Merci beaucoup pour vos réponses. Je verrai le liens tout de suite. Mais j'ai déjà les makefile ils sont générés par GenoM ( du package robotpkg, développé par le laboratoire LAAS).

  10. #10
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    novembre 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2011
    Messages : 17
    Points : 18
    Points
    18

    Par défaut Résolu

    Salam

    Je viens de résoudre le problème. J'ai donc pensé à partager la solution.
    La version d'OpenCV que j'ai installé manuellement est 2.4.2 dont le prefix d'installation est /usr/local/lib
    Genom a aussi installé automatiquement la version 2.4.1 d'OpenCV avec le prefix /home/amina/src/openrobots.

    Mes variables PKG_CONFIG_PATH et LD_LIBRARY_PATH contiennent les deux chemins, et le prefix donné au moment du configure était celui de genom ( pour créer les makefiles), celà crée un conflit quelque part. J'ai donc modifié mes variable PKG_CONFIG_PATH et LD_LIBRARY_PATH pour ne contenir qu'un seul chemin, celui de genom.

    Merci à vous LITTLEWHITE

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 02/09/2014, 16h28
  2. "undefined reference to" fonction sous code::blocks
    Par Lerrak dans le forum Langage
    Réponses: 4
    Dernier message: 10/06/2014, 15h35
  3. Réponses: 1
    Dernier message: 18/11/2012, 01h47
  4. "Undefined reference" avec Ubuntu 12.04
    Par morbli dans le forum Ubuntu
    Réponses: 2
    Dernier message: 02/11/2012, 13h55
  5. Réponses: 13
    Dernier message: 26/11/2010, 15h14

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