Raspberry Pi Programmierung mit C++ und GTK+

Das könnte dich auch interessieren …

16 Antworten

  1. Bernhard sagt:

    Vielen dank, dass sie ihre Informationen hier abdrucken und so für mich als Neuling transparent beschreiben. Ich habe zwei Differenzen, die bei mir nicht zum Erfolg führen. Zum einen ist bei den „Zusätzliche Includeverzeichnisse – …….gtk-3.0“ ohne den Anhang %(Addition…., auch kann ich in 192.168….. \user\include\gtk-3.0 nicht finden. Zum zweiten erhalte ich eine Fehlermeldung „Die aktuelle Projektarchitekru „X64“ ist mir der Remotesystemarchitektur „ARM“ nicht kompatibel (ARM). Wchseln Sie im Konfiguratoions Manager zur Projekzarchitektur „ARM“.
    Wissen sie wo ich diesen Wechsel vollziehen kann.

    • Werner Ziegelwanger sagt:

      Hallo, freut mich, dass dich mein Artikel interessiert und du das Projekt nachbauen willst. Der erste Fehler liegt entweder daran, dass gtk auf dem externen System (Raspberry Pi?) nicht installiert ist oder dass eine falsche Version installiert ist. Was zeigt das /usr/include/ Verzeichnis. Achtung: usr nicht user!!! Das zweite Problem ist einfach erklärt. Man kann C++ Code auf alle möglichen Prozessorarchitekturen bauen. X64 entspricht dabei dem 64-bit System, wie du es vermutlich auf dem Windows 10 Rechner hast. Für den Raspberry Pi musst du die exe als ARM Architektur bauen, dessen Prozessor hat diese Architektur. Ich hoffe das hilft, ansonsten einfach noch weitere Infos posten. Viel Spaß 😉

  2. Gerd sagt:

    Hallo Werner, ich möchte das Beispiel auf einem Raspi 1B nachstellen. Gibt es eine Möglichkeit, zu prüfen, ob das Include Verzeichnis gefunden wird ? Ich bekomme im Fehlerfenster von VS 10431 Fehler angezeigt, habe aber den Eintrag unter ‚Konfigurationseigenschaften-C/C++-Allgemein-Zusätzliche Includeverzeichnisse‘, wie ich meine, richtig eingegeben. Es handelt sich primär um E1696 ‚Die Datei “ Quelle“ kann nicht geöffnet werden:…‘ und dann eine Datei xxx.h. Z.B. eine Datei ‚cairo.h‘, die ich unter /usr/include/gtk-3.0/gtk allerdings auch nicht finde. Vielleicht hast due einen Tip ?
    Gerd

    • Werner Ziegelwanger sagt:

      Hi, ich würde fast tippen da stimmt irgend etwas mit dem smb share nicht. Kannst du von deinem Windows Rechner aus über das Netzwerk auf den /usr Ordner zugreifen? Eventuell passt da auch etwas mit dem Zugriffsberechtigungen nicht.

      • Gerd sagt:

        Hi Werner, hatte das Projekt etwas aus den Augen verloren. Ich habe jetzt den Raspi komplett neu aufgesetzt, das Tutorial neu eingegeben und – das Fenster poppt auf.
        Danke für das Teilen deines Wissens !
        Gerd

  3. Lino sagt:

    Wunderbar (fast), klappt alles – wie es beschrieben ist – bis auf den Umstand, dass auf dem Pi von keiner einzigen Geisterhand ein Fenster erscheint (-:
    Bin alles mehrmals durchgegangen, kann keinen Fehler finden. Hat sich inzwischen irgendwas an irgendwelchen Environments geändert?
    BesteGrüße Lino

    • Werner Ziegelwanger sagt:

      Sollte eigentlich nach wie vor so funktionieren. Was passiert denn sonst? Siehst du, dass das Programm ausgeführt wird (in der Task Anzeige)? Was meldet denn der Visual Studio Debugger?

  4. Lino sagt:

    … 15 Fehler, u.a. wird die Library nicht gefunden, aber im WinExplorer kann man im /usr- Share browsen. Ich habe das Gefühl, die Authentifikation aus VS heraus funktioniert nicht. Wie muss den das PW in den Konfigurations-Eigenschaften für den Debugger angegeben werden, wenn man keinen SSH Key vergeben hat? besten Dank
    Lino

  5. Lino sagt:

    … habe die Verbindung zum Pi im ConnectionManager auch schon x mal neu eingetragen und erfolgreich verifiziert, das CrossPlatformLog sieht auch gut aus, kein Fehler zu sehen – absolut mysteriös das alles.

  6. Lino sagt:

    … Fehler gefunden, danach ging es einwandfrei, nunmehr über Visual Studio 2022
    Besten Dank, Lino

  7. Josch sagt:

    Ich bin am verzweifeln. Ich habe Alles so gemacht wie hier erklärt, aber der Linker macht Probleme. Ich bekomme bei kompilierung für alle Aufrufe „undefined reference“.

    • Werner Ziegelwanger sagt:

      Klingt als würde der Compiler die Header Dateien nicht finden. Überprüfe mal ob der Pfad den du bei „Zusätzliche Includeverzeichnisse“ angegeben hast auch über den Explorer erreichbar ist und ob von dort relativ gesehen in deinen Quelldateien die Header korrekt referenziert werden.

      • Josch sagt:

        Ich komme über den Explorer rein und relativ zu dem Pfad (IP/usr/include/gtk-3.0/gtk/gtk.h) finde ich auch die die Header Datei(en) und kann diese auch öffnen.
        Ich hatte zuvor auch einige Intellisense Probleme („Cairo.h kann nicht geöffnet werden“ und ähnliches) die ich behoben habe indem ich weitere Include-Verzeichnisse in VS eingetragen habe (Cairo.h usw.), aber der linker will die Funktionen einfach nicht finden.
        Also z.b.: Undefined reference to gtk_init / undefined reference to gtk_window_new / …

        P.s.: Danke für die Hilfe 🙂

  8. Jan sagt:

    Hallo, habe auch das Problem, dass hier schon öfter beschrieben wurde. Habe alles nach Anleitung gemacht und erhalte ebenfalls die Errors wie “ undefined reference to `gtk_init‘ „. Auf das Includeverzeichnis kann ich mit dem Explorer zugreifen und die Dateien werden auch auf meinen pi übertragen. D.h. ich finde meinen Projektordner auch auf dem pi wieder und wenn ich dann auf dem pi mit dem Befehl gcc `pkg-config –cflags gtk+-3.0` main.cpp -o example `pkg-config —libs gtk+-3.0` manuell das Programm erstelle, funktioniert das alles und ich kann es auch ausführen. Gruß Jan

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert