Anfängerprobleme mit OpenCV 2.2



  • Hallo,

    ich versuche seit 2 Tagen OpenCV 2.2 mit Visual Studio 2008 Express auf einem 64 bit Rechner und Windows 7 zum laufen zu bringen.
    Ich bin dabei der Anleitung auf:
    http://opencv.willowgarage.com/wiki/VisualC%2B%2B

    gefolgt. Diese besteht aus folgenden Schritten:

    # Create your new project for C++
    # Go to project properties
    # Go to VC++ Directories
    # Add 2 new Include Directories (it's the path where you installed OpenCV, include folder):

    * C:\Program Files\OpenCV2.2\include
    * C:\Program Files\OpenCV2.2\include\opencv

    # Add 1 new Library Directory (it's the path where you installed OpenCV, lib folder):

    * C:\Program Files\OpenCV2.2\lib

    # Go to Linker in the left menu and select Input option
    # Add these entries on Additional Dependencies option:

    * C:\Program Files\OpenCV2.2\lib\opencv_core220d.lib
    * C:\Program Files\OpenCV2.2\lib\opencv_highgui220d.lib
    * C:\Program Files\OpenCV2.2\lib\opencv_video220d.lib
    * C:\Program Files\OpenCV2.2\lib\opencv_ml220d.lib
    * C:\Program Files\OpenCV2.2\lib\opencv_legacy220d.lib
    * C:\Program Files\OpenCV2.2\lib\opencv_imgproc220d.lib

    Ich habe die CMake benutzt und konnte OpenCV auch ohne Fehlermeldungen übersetzen. Wenn ich aber nur dieser Anleitung folge dann erhalte ich schon beim schreiben der Includes z.b.
    #include <cv.h>
    #include <cxcore.h>
    #include <highgui.h>
    Fehlermeldungen das bestimmte Dateien nicht gefunden werden. Jetzt habe ich jeder dieser Dateien einzelnd gesucht und hinzugefügt. Meine Liste under Linker->Input->Additional Dependencies sieht nun so aus:

    C:\OpenCV-2.2.0\built\lib\Debug\opencv_contrib220d.lib
    C:\OpenCV-2.2.0\built\lib\Debug\opencv_legacy220d.lib
    C:\OpenCV-2.2.0\built\lib\Debug\opencv_haartraining_engine.lib
    C:\OpenCV-2.2.0\built\lib\Debug\opencv_features2d220d.lib
    C:\OpenCV-2.2.0\built\lib\Debug\opencv_gpu220d.lib
    C:\OpenCV-2.2.0\built\lib\Debug\opencv_calib3d220d.lib
    C:\OpenCV-2.2.0\built\lib\Debug\opencv_objdetect220d.lib
    C:\OpenCV-2.2.0\built\lib\Debug\opencv_highgui220d.lib
    C:\OpenCV-2.2.0\built\lib\Debug\opencv_video220d.lib
    C:\OpenCV-2.2.0\built\lib\Debug\opencv_imgproc220d.lib
    C:\OpenCV-2.2.0\built\lib\Debug\opencv_ts220d.lib
    C:\OpenCV-2.2.0\built\lib\Debug\opencv_ml220d.lib
    C:\OpenCV-2.2.0\built\lib\Debug\opencv_flann220d.lib
    C:\OpenCV-2.2.0\built\lib\Debug\opencv_core220d.lib

    und in die Additional Includes musste ich jeden einzelen Ordner aus den Modulen einbinden bis er aufgehört hat zu meckern:

    C:\OpenCV-2.2.0\modules\imgproc\include
    C:\OpenCV-2.2.0\modules\video\include
    C:\OpenCV-2.2.0\modules\core\include
    C:\OpenCV-2.2.0\modules\highgui\include
    C:\OpenCV-2.2.0\include\opencv
    C:\OpenCV-2.2.0\include
    C:\OpenCV-2.2.0\modules\calib3d\include
    C:\OpenCV-2.2.0\modules\contrib\include
    C:\OpenCV-2.2.0\modules\features2d\include
    C:\OpenCV-2.2.0\modules\flann\include
    C:\OpenCV-2.2.0\modules\gpu\include
    C:\OpenCV-2.2.0\modules\legacy\include
    C:\OpenCV-2.2.0\modules\ml\include
    C:\OpenCV-2.2.0\modules\objdetect\include

    Damit war es dann möglich

    #include <cv.h>
    #include <cxcore.h>
    #include <highgui.h>

    in einem C++ Projekt zu kompilieren. Sobald ich jetzt aber versuche Objekte aus der Bibliothek zu verwenden - z.b.

    cvNamedWindow("Image:", CV_WINDOW_AUTOSIZE);
    

    , kommt error LNK2019 unresolved external symbol.
    Gerade weiß ich keinen Rat, auch wenn ich schon etlich Foren abgesucht habe.

    Den Schritt:

    # Add 1 new Library Directory (it's the path where you installed OpenCV, lib folder):

    * C:\Program Files\OpenCV2.2\lib

    habe ich aus der obigen Anleitung nicht verstanden. Soll ich die bei den includes einfügen? Eigentlich füge ich .lib-Dateien doch beim Linker ein, aber warum schreibt er dann danach ich solle zum Linker wechseln - ads würde ja heißen ich soll das .lib Verzeichnis vorher woanders einstellen?

    Wenn mir jemand helfen könnte OpenCV 2.2 zum laufen zu bringen wäre ich sehr dankbar.



  • # Add 1 new Library Directory (it's the path where you installed OpenCV, lib folder):

    * C:\Program Files\OpenCV2.2\lib

    Das hier ist nur ein "quick guess":
    Du musst diesen Pfad in den Visual Studio Konfigurationen hinzufuegen (Datei > Werkzeuge > Optionen > Projekte und Solutions > ...), und nicht etwa nur zu den Projekteinstellungen.

    Hugh


Anmelden zum Antworten