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