Problem mit OpenCV



  • Hi Leute,

    ich habe mir heute OpenCV für mein Mac runtergeladen sowie installiert. Habe auch ein kleines Programm geschrieben. Zur Kompilierung meiner Dateien verwende ich Cmake. Meine Cmakelist.txt sieht wie folgt aus:

    # find OpenCV libs
    IF(WIN32)
    FIND_LIBRARY(OpenCVCore opencv_core220 ENV PATH)
    FIND_LIBRARY(OpenCVFeatures2D opencv_features2d220 ENV PATH)
    FIND_LIBRARY(OpenCVHighGui opencv_highgui220 ENV PATH)
    FIND_LIBRARY(OpenCVObjDetect opencv_objdetect220 ENV PATH)
    ELSEIF(APPLE)
    FIND_LIBRARY(OpenCVCore opencv_core.2.2.0 ENV PATH)
    FIND_LIBRARY(OpenCVFeatures2D opencv_features2d.2.2.0 ENV PATH)
    FIND_LIBRARY(OpenCVHighGui opencv_highgui.2.2.0 ENV PATH)
    FIND_LIBRARY(OpenCVObjDetect opencv_objdetect.2.2.0 ENV PATH)
    FIND_LIBRARY(OpenCVImgProc opencv_imgproc.2.2.0 ENV PATH)
    ELSEIF(UNIX)
    FIND_LIBRARY(OpenCVCore opencv_core ENV PATH)
    FIND_LIBRARY(OpenCVFeatures2D opencv_features2d ENV PATH)
    FIND_LIBRARY(OpenCVHighGui opencv_highgui ENV PATH)
    FIND_LIBRARY(OpenCVObjDetect opencv_objdetect ENV PATH)
    FIND_LIBRARY(OpenCVImgProc opencv_imgproc ENV PATH)
    ELSE()
    MESSAGE(WARNING "DBIS; Finding OpenCV libraries isn't supported for this operating system.")
    ENDIF()

    ADD_EXECUTABLE(program main.cpp test.h test.cpp)

    TARGET_LINK_LIBRARIES(program ${OpenCVCore} ${OpenCVFeatures2D} ${OpenCVHighGui} ${OpenCVImgProc})

    wenn ich nun in meiner main.cpp eine Zeile wie:
    #include <opencv/cv.h>
    habe, gibt mir das Terminal folgenden Fehler aus:
    error: cv.h: No such file or directory

    Dies verhält sich auch mit allen anderen Headerfiles von OpenCV.

    Was kann man da machen? Wieso könnte der diese files nicht finden? Versuche schon seit 2h das Problem irgendwie zu beheben, doch irgendwie will der nicht. O.o?

    Um meine Programme zu kompilieren, erstelle ich im Ordner, wo meine Programme und mein cmakelist.txt sind, einen build-dOrdner. In diesem wende ich die folgenden zwei Befehle im Terminal an:
    cmake ../
    make -j 1 -silent

    Ersteres funktioniert, aber beim zweiten kommen dann die Fehlermeldungen, dass er die OpenCV-Files nicht finden kann. 😞



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x) in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • 2.2.0 ist ja auch nicht mehr so superneu, allerdings noch neu genug, dass

    #include <opencv2/opencv.hpp>
    

    gehen sollte.
    Ich vermute nämlich mal, dass du nicht vorhast, dich mit dem alten C-Interface rumzuschlagen. 😉
    In den source-codes der cpp-samples, die dabei sind, sollte das auch so vorkommen.



  • Als wenn ich diese Zeile in meiner Datei einfüge, wird der Fehler nicht behoben. 😞

    Hast du vllt. eine andere Idee? wieso könnte er diese Files nicht finden? diese existieren. Das habe ich kontrolliert. 😞

    Edit: Er findet allgemein keine OpenCV-Dateien, obwohl diese existieren. Hat da jemand einen Tipp, woran das liegen könnte? O.o?



  • Natürlich bleibt in dem Fall deine fehlerhafte Zeile fehlerhaft, auch wenn du eine korrekte einfügst. Ich meinte ja auch eher, dass du sie ersetzen sollst. 😉

    Wenn dein Compiler grundsätzlich keine OpenCV-Header findet, schau mal nach, ob er bei deinen includes auch in den richtigen Verzeichnissen sucht.


Anmelden zum Antworten