Bonjour,
je suis en train de transférer un projet QT+opencv fait sous Qtcreator, vers visual studio express 2010, le tout sous windows 7.
j'utilise QT4.8.1 et openCV2.3.1
pour configurer mon projet visual, j'ai suivi un tutoriel trouvé sur un autre site, plutôt bien fait, et qui ne me pose pas de problème, tout compile dans la joie et la bonne humeur.
Par contre à l'exécution, ça plante direct, sans même atteindre une seule ligne de code, au chargement des dll.
(bien sûr le projet sous Qtcreator est ok)
Pour être sûr de ma config, j'ai pour le coup fait 1 prog simple avec 3 configs différentes:
1. Qtcreator
2. Visual studio avec qmake (projet makefile)
3. Visual studio "standard" (application console), sans Qt donc.
voici le code :
Dans le cas 3. j'ai simplement remplacé le QString par std::string.
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
28
29
30
31 #include <opencv2/opencv.hpp> #include <opencv2/highgui/highgui.hpp> #include <QtCore\QString> int main(int argc, char* argv[]) { QString vfile ="C:VTS_01_5.VOB"; cv::VideoCapture capture(vfile.toStdString()); if(!capture.isOpened()) // check if we succeeded { std::cout<<"Cannot open video file "<<vfile.toStdString()<<std::endl; return -1; } std::string window_ori = "frtdfr"; cv::Mat inputImage; cv::namedWindow(window_ori,CV_WINDOW_AUTOSIZE); //get first frame bool frame_ok = capture.read(inputImage); while (frame_ok) { frame_ok = capture.read(inputImage); // get a new frame from camera cv::imshow(window_ori, inputImage); cv::waitKey(1); } return 1; }
1. et 3. s'exécutent parfaitement, ce qui montre qu'opencv est ok dans sa version mingw et sa version vc10
2. sort sur la condition if(!capture.isOpened()) -> l'objet capture est vide.
je sèche.
Mon projet visual est configuré comme suit:
commande de Build: qmake & nmake
dans Débogage -> Environnement: PATH=C:\opencv\build\x86\vc10\bin;C:\Program Files\tbb40_233oss\bin\ia32\vc10;$(QTDIR)\bin;%PATH%
dans RépertoiresVC++ -> répertoire de bibliothèques: $(QTDIR)\lib;C:\opencv\build\x86\vc10\lib;
dans RépertoiresVC++ -> répertoire Include: $(QTDIR)\Include;C:\opencv\build\include;
et QTDIR = C:\QtSDK\Desktop\Qt\4.8.1\msvc2010
et j'ai un .pro tout bête:
avec opencv.pri:
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 ###################################################################### # Automatically generated by qmake (2.01a) lun. 30. avr. 12:17:06 2012 ###################################################################### TEMPLATE = app TARGET = DEPENDPATH += . INCLUDEPATH += . include (opencv.pri) # Input HEADERS += SOURCES += utestFile.cpp \
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3win32: LIBS += -lopencv_core231 -lopencv_imgproc231 -lopencv_highgui231 \ -lopencv_contrib231 -lopencv_features2d231 -lopencv_flann231 -lopencv_objdetect231 \
des idées ? parce que moi, je n'en ai plus
j'ai visual studio express, je ne peux pas utiliser le plugin Qt...
Partager