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:
J´ai déclaré mes libs en rajoutant à Project|opencv_qtTestProperties|ConfigurationProperties|Linker|Input|Additional Depencies:
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; }
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:
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
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(); }
Le pro reflète donc bien les chemins des includes et des libs, et comporte également le nom des libs à lier.
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
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
Partager