Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 10 sur 10
  1. #1
    Invité régulier
    Femme Profil pro amina dida
    Étudiant
    Inscrit en
    novembre 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Nom : Femme amina dida
    Localisation : Algérie

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

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

    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 :
    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 Alexandre Laurent
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    16 725
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Laurent
    Localisation : France

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

    Informations forums :
    Inscription : mai 2008
    Messages : 16 725
    Points : 86 233
    Points
    86 233

    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
    La rubrique a aussi un blog !

    Ma page sur DVP
    Mon Portfolio

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

  3. #3
    Invité régulier
    Femme Profil pro amina dida
    Étudiant
    Inscrit en
    novembre 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Nom : Femme amina dida
    Localisation : Algérie

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

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

    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 Alexandre Laurent
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    16 725
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Laurent
    Localisation : France

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

    Informations forums :
    Inscription : mai 2008
    Messages : 16 725
    Points : 86 233
    Points
    86 233

    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
    La rubrique a aussi un blog !

    Ma page sur DVP
    Mon Portfolio

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

  5. #5
    Invité régulier
    Femme Profil pro amina dida
    Étudiant
    Inscrit en
    novembre 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Nom : Femme amina dida
    Localisation : Algérie

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

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

    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 Alexandre Laurent
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    16 725
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Laurent
    Localisation : France

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

    Informations forums :
    Inscription : mai 2008
    Messages : 16 725
    Points : 86 233
    Points
    86 233

    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
    La rubrique a aussi un blog !

    Ma page sur DVP
    Mon Portfolio

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

  7. #7
    Invité régulier
    Femme Profil pro amina dida
    Étudiant
    Inscrit en
    novembre 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Nom : Femme amina dida
    Localisation : Algérie

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

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

    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 Alexandre Laurent
    Ingénieur développement logiciels
    Inscrit en
    mai 2008
    Messages
    16 725
    Détails du profil
    Informations personnelles :
    Nom : Homme Alexandre Laurent
    Localisation : France

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

    Informations forums :
    Inscription : mai 2008
    Messages : 16 725
    Points : 86 233
    Points
    86 233

    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
    La rubrique a aussi un blog !

    Ma page sur DVP
    Mon Portfolio

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

  9. #9
    Invité régulier
    Femme Profil pro amina dida
    Étudiant
    Inscrit en
    novembre 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Nom : Femme amina dida
    Localisation : Algérie

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

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

    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
    Invité régulier
    Femme Profil pro amina dida
    Étudiant
    Inscrit en
    novembre 2011
    Messages
    17
    Détails du profil
    Informations personnelles :
    Nom : Femme amina dida
    Localisation : Algérie

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

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

    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.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •