QT RaspiCam undefined reference

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo ich habe ein kleines Problem.
    Es geht wahrscheinlich um einen falschen Pfad.
    Ich bin was QT und Linux compilieren angeht noch ein Anfänger.

    Ich teste gerade auf die Raspberry Camera in QT zuzugreifen.
    Ich habe dazu RaspiCam: C++ API for using Raspberry camera with/without OpenCv installiert.
    Jetzt versuche ich das Beispiel auf der Seite mit QT umzusetzen.

    Ich bekomme jedoch die folgende Fehlermeldung.
    /home/pi/untitled1/main.cpp:12: error: undefined reference to `raspicam::RaspiCam_Cv::RaspiCam_Cv()'

    Hier ist der Code untiled1.pro


    Hier ist der Code der main.cpp

    Code
    raspicam::RaspiCam_Cv Camera;


    Ohne diese Zeile kann ich mit dem Build Project Button eine ausführbare Datei erstellen.

    Die Datei /usr/local/include/raspicam/raspicam_cv.h gibt es.

    Wo liegt der Fehler?

    Einmal editiert, zuletzt von berrie (23. Februar 2015 um 21:19)

  • Vielen Dank für Deine Antwort.
    Ich blicke da noch nicht so durch.
    Gestern hatte ich auch ich in der .pro Datei folgenden Code ergänzt.

    Code
    LIBS += /usr/local/lib/libopencv_core.so.2.4.10
    LIBS += /usr/local/lib/libopencv_highgui.so.2.4.10
    LIBS += /usr/local/lib/libopencv_imgproc.so.2.4.10
    LIBS += /usr/local/lib/libopencv_features2d.so.2.4.10
    LIBS += /usr/local/lib/libopencv_calib3d.so.2.4.10

    Das hat aber leider nicht geholfen.

    Was mich auch noch wundert ist, wenn ich anfange raspicam:: einzugeben bekomme ich eine Autovervollständigung. Natürlich nur wenn oben #include <raspicam/raspicam_cv.h> steht. Ich dachte das dann alles mit den Verweisen stimmt.

    Oder meinst Du einen Link in den Build Settings von QT.
    Oder Build & Run in den Options.

    Viele Grüße Berrie

  • Im Bild sind die BuildSettings zu sehen.
    Ich habe aber keine Ahnung wo ich nun den Pfad eintragen könnte.

    915b70-1424783957.jpg

    In der Anleitung steht noch folgendes.

    Zitat

    If you do not like cmake, simply
    g++ simpletest_raspicam.cpp -o simpletest_raspicam -I/usr/local/include -lraspicam -lmmal -lmmal_core -lmmal_util

    Aber wo soll das hin??

    Grüße Berrie

  • Das müsstest Du so auf der Kommandozeile eingeben.
    Da fehlt aber imho noch ein

    Code
    -L/Path_to_opencv_lib -lopencv


    probieren geht über studieren ...

    //EDIT:
    Du hattest ja schon was dazu geschrieben ...
    Also müsste das konkret in etwa so aussehen:

    Code
    g++ simpletest_raspicam.cpp -o simpletest_raspicam -I/usr/local/include -L/usr/local/lib/ -lraspicam -lmmal -lmmal_core -lmmal_util -llibopencv_core -llibopencv_highgui -llibopencv_imgproc -llibopencv_features2d -llibopencv_calib3d

    cu,
    -ds-

  • Hallo!
    Ich benutze auch die RaspiCam library mit Qt und habe wenig Erfahrung.
    Ich habe die raspicam libs von /usr/local/include nach /usr/include kopieren müssen. In meiner .pro Datei ist folgendes (möglicherweise zu viel? aber es läuft)

    Beim Einstellen der Build Settings habe ich folgendes gemacht:
    (1) In Qt Creator: Tools -> Options -> Build & Run -> Tool Chains
    Add GCC
    compiler path: /usr/bin/arm-linux-gnueabihf-gcc-4.6
    debugger: /usr/bin/gdb
    (2) In Help -> About Plugins uncheck Support Remote Linux
    (3) Restart Qt Creator.
    Go to Tools -> Options -> Build & Run -> Qt versions
    Add /usr/bin/qmake-qt4

    Hoffe das hilft weiter.
    Hast Du vor den Camerastream in Qt auszugeben?

  • Vielen Dank für die Antworte.
    Ich habe nicht mitbekommen das hier noch einige Beiträge dazu gekommen sind.

    Es hat nun geklappt.
    Ich habe in der *.pro Datei folgende Zeile hinzugefügt.

    Code
    LIBS += -lraspicam -lraspicam_cv -lopencv_core -lopencv_highgui



    Jetzt kann ich Build Project eine ausführbare Datei erstellen.

    Grüße Berrie

  • Hey ich habe das gleiche Problem, jedoch benutze ich die RaspiCam Lib ohne CV und bekomme den selben Error. Habe es auch nach der offiziellen Anleitung gemacht: http://sourceforge.net/projects/raspicam/files

    Code
    #include <raspicam/raspicam.h>
    
    
    int main() {
      raspicam::RaspiCam camera;
      return 0;
    }

    undefined reference to `raspicam::RaspiCam::RaspiCam()'

    Danke schonmal für eure Hilfe :bravo2:

    Einmal editiert, zuletzt von ghorki (27. November 2015 um 22:52)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!