[gelöst] Verständnisprobleme beim Einbinden externer Bibliotheken



  • Hallo,

    ich möchte mit der OpenCV-Bibliothek arbeiten.

    Ich habe nun auf meinem Gentoo Linux die Bibiliotheken und soweiter installiert, nun möchte ich in meinem Programm bspw.

    #include "cv.h"
    #include "highgui.h"
    #include <stdio.h>
    
    // A Simple Camera Capture Framework
    int main() {
    
      CvCapture* capture = cvCaptureFromCAM( CV_CAP_ANY );
      if( !capture ) {
        fprintf( stderr, "ERROR: capture is NULL \n" );
        getchar();
        return -1;
      }
    
      // Create a window in which the captured images will be presented
      cvNamedWindow( "mywindow", CV_WINDOW_AUTOSIZE );
    
      // Show the image captured from the camera in the window and repeat
      while( 1 ) {
        // Get one frame
        IplImage* frame = cvQueryFrame( capture );
        if( !frame ) {
          fprintf( stderr, "ERROR: frame is null...\n" );
          getchar();
          break;
        }
    
        cvShowImage( "mywindow", frame );
        // Do not release the frame!
    
        //If ESC key pressed, Key=0x10001B under OpenCV 0.9.7(linux version),
        //remove higher bits using AND operator
        if( (cvWaitKey(10) & 255) == 27 ) break;
      }
    
      // Release the capture device housekeeping
      cvReleaseCapture( &capture );
      cvDestroyWindow( "mywindow" );
      return 0;
    }
    

    diesen Beispielcode ausführen, dabei erhalte ich diese Fehler:

    gcc camera.cpp
    camera.cpp:1:16: error: cv.h: No such file or directory
    camera.cpp:2:21: error: highgui.h: No such file or directory
    camera.cpp:40:2: warning: no newline at end of file
    camera.cpp: In function 'int main()':
    camera.cpp:8: error: 'CvCapture' was not declared in this scope
    camera.cpp:8: error: 'capture' was not declared in this scope
    camera.cpp:8: error: 'CV_CAP_ANY' was not declared in this scope
    camera.cpp:8: error: 'cvCaptureFromCAM' was not declared in this scope
    camera.cpp:16: error: 'CV_WINDOW_AUTOSIZE' was not declared in this scope
    camera.cpp:16: error: 'cvNamedWindow' was not declared in this scope
    camera.cpp:21: error: 'IplImage' was not declared in this scope
    camera.cpp:21: error: 'frame' was not declared in this scope
    camera.cpp:21: error: 'cvQueryFrame' was not declared in this scope
    camera.cpp:28: error: 'cvShowImage' was not declared in this scope
    camera.cpp:33: error: 'cvWaitKey' was not declared in this scope
    camera.cpp:37: error: 'cvReleaseCapture' was not declared in this scope
    camera.cpp:38: error: 'cvDestroyWindow' was not declared in this scope
    

    Kann mir mal jemand erklären, wie ich das mache, ich habe hier in den verschiedensten Büchern nachgeschaut und komme damit einfach nicht zurecht.

    Wie verwende ich solche Bibliotheken richtig, wo muss ich sie speichern, ..., dass auch die Folgeabhängigkeiten meiner eingebundenen Bibliotheken gefunden werden ?

    Mfg
    antivalent



  • Wenn du eine IDE benutzt, dann musst du das bei der einstellen und die libs bekannt machen und dafür sorgen, dass die Header Dateien gefunden werden. Was benutzt du für eine IDE?



  • ich benutze kdevelop, bzw. würde es gerne erfolgreich benutzen oder hast nen besseren vorschlag?



  • Ich habe KDevelop zwar nie gesehen, aber da wirst du auch Programmeinstellungen finden können, in denen du z.B. Include-Pfade (in denen deine Header-Dateien liegen) einstellen kannst. des Weiteren wirst du Pfade für lib-Dateien hinterlegen können. Näheres gibt's bestimmt in der Hilfe zur IDE oder im Internet.

    Vielleicht ist die Frage im Compiler- und IDE-Forum besser aufgehoben.



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Compiler- und IDE-Forum verschoben.

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

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten