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

EDI Discussion :

Qt avec OpenCV : édition des liens [Visual Studio]


Sujet :

EDI

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 25
    Points : 28
    Points
    28
    Par défaut Qt avec OpenCV : édition des liens
    Windows XP SP3 32 bits, Qt 4.4.1, openCV2.3.1, Visual C++ 2008 Express Edition SP1

    Bonjour à tous et à toutes!

    J´ai un petit soucis de déclaration de lib avec openCV.
    J´ai installé la bibliothèque, configuré mon environnement de développement:
    # rajouté à PATH le lien C:\Dev\openCV\openCV2.3.1\build\x86\vc9\bin
    # rajouté à Tools|Options|Projects and Solutions|VC++Directories:
    ....# C:\Dev\openCV\openCV2.3.1\build\x86\vc9\bin pour les exécutables
    ....# C:\Dev\openCV\openCV2.3.1\build\x86\vc9\lib pour les library files
    ....# C:\Dev\openCV\openCV2.3.1\build\include et
    ....# C:\Dev\openCV\openCV2.3.1\build\include\opencv pour les include files.

    J´ai testé mon installation dans un premier temps en créant un projet avec les Options Visual C++|General et le type "Empty Project".J´ai utilisé le code suivant que j´ai trouvé sur le site openCV:

    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 <cv.h>
    #include <highgui.h>
     
    int main ( int argc, char **argv )
    {
      cvNamedWindow( "openCV Window", 1 );
      IplImage *img = cvCreateImage( cvSize( 640, 480 ), IPL_DEPTH_8U, 1 );
      CvFont font;
      double hScale = 1.0;
      double vScale = 1.0;
      int lineWidth = 2;
      cvInitFont( &font, CV_FONT_HERSHEY_SIMPLEX | CV_FONT_ITALIC,
                  hScale, vScale, 0, lineWidth );
      cvPutText( img, "Hello World!", cvPoint( 200, 350 ), &font,
                 cvScalar( 255, 255, 0 ) );
      cvShowImage( "my Window", img );
      cvWaitKey();
      return 0;
    }
    J´ai déclaré mes libs en rajoutant à Project|opencv_qtTestProperties|ConfigurationProperties|Linker|Input|Additional Depencies:
    opencv_core231d.lib opencv_highgui231d.lib

    Tout se passe bien et le programme fonctionne!

    Dans un deuxième temps j´ai fais un programme Qt.
    Je génère cette fois-ci un projet avec les Options Visual C++|General et le type "Makefile Project" pour pouvoir me servir de qmake.

    Les modifications au code sont minimes et n´ont d´ailleurs rien à voir avec mon problème, puisque la compilation se passe bien, et que le problème est une erreur de lien vers une bibliothèque, mais voici le code:

    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
    // main
    // AW - 13.03.2012
    #pragma warning(disable: 4996)
    #include <QApplication>
    #include <cv.h>
    #include <highgui.h>
    using namespace cv;
     
    int main ( int argc, char **argv )
    {
    	QApplication app(argc, argv);
     
    	cvNamedWindow( "openCV Window", 1 );
    	IplImage *img = cvCreateImage( cvSize( 640, 480 ), IPL_DEPTH_8U, 1 );
    	CvFont font;
    	double hScale = 1.0;
    	double vScale = 1.0;
    	int lineWidth = 2;
    	cvInitFont( &font, CV_FONT_HERSHEY_SIMPLEX | CV_FONT_ITALIC,
    				  hScale, vScale, 0, lineWidth );
    	cvPutText( img, "Hello World!", cvPoint( 200, 350 ), &font,
    				 cvScalar( 255, 255, 0 ) );
    	cvShowImage( "Alains Window", img );
    	cvWaitKey();
     
    	return app.exec();
    }
    et mon pro:

    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
    # opencv_qtTest.pro
    # AW - 13.03.2012
     
    ######################################################################
    # Automatically generated by qmake (2.01a) Di 13. Mrz 22:59:31 2012
    ######################################################################
     
    TEMPLATE = app
    TARGET = 
    DEPENDPATH += 
     
    INCLUDEPATH += C:\Dev\openCV\openCV2.3.1\build\include\opencv 
     
    LIBS += -LC:\Dev\openCV\openCV2.3.1\build\x86\vc9\lib
    LIBS += -llibopencv_core231d -llibopencv_highgui231d
     
    # Input
    SOURCES += main.cpp
    Le pro reflète donc bien les chemins des includes et des libs, et comporte également le nom des libs à lier.

    Malheureusement, cette fois-ci ca ne passe pas, j´obtiens l´erreur suivante:
    'LINK : fatal error LNK1104: cannot open file 'libopencv_core231d.lib'
    Il trouve donc bien la lib, mais ne peut l´ouvrir. Ce que je ne comprends pas, c´est que dans le premier cas, il a réussi à ouvrir ce fichier!

    Je n´ai pas réussi à lever cette erreur, avez-vous une piste?

    Merci pour avoir lu mon message.
    Alain

  2. #2
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Non, il ne la trouve même pas vu qu'elle n'existe pas, libopencv_core231d.lib

  3. #3
    Nouveau membre du Club
    Inscrit en
    Août 2008
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 25
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par Troudhyl Voir le message
    Non, il ne la trouve même pas vu qu'elle n'existe pas, libopencv_core231d.lib
    Désolé, je ne savais pas qu´il fallait enlever le 'lib' en préfixe.
    Maintenant ca fonctionne nickel!
    Merci!

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

Discussions similaires

  1. Problème d'édition des liens avec OpenCV
    Par benyaya_benyaya dans le forum Débuter
    Réponses: 1
    Dernier message: 16/05/2013, 12h17
  2. Édition des liens avec OpenCV
    Par Yassine_ba dans le forum Qt Creator
    Réponses: 5
    Dernier message: 31/07/2012, 17h22
  3. Réponses: 3
    Dernier message: 04/07/2007, 14h08
  4. Ordre de l'édition des liens avec GCC
    Par Matthieu Brucher dans le forum Linux
    Réponses: 6
    Dernier message: 29/08/2006, 07h56
  5. Problème à l'édition des liens avec BCC55 et Xerces
    Par ShootDX dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 30/11/2003, 14h50

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