3 Stimmen

Eclipse CDT & gtkmm: "... konnte nicht aufgelöst werden.", kompiliert und läuft aber

Ich programmiere in Eclipse CDT in C++ mit gtkmm. Ich habe es geschafft, Eclipse so einzurichten, dass es den Code korrekt kompiliert, indem ich pkg-config gtkmm-3.0 --cflags --libs zu den Compiler-Optionen. Es läuft also, und funktioniert. Aber im Editor ist alles, was mit gtk zu tun hat, rot unterstrichen und wenn ich mit dem Mauszeiger über diese Teile fahre, steht da etwas wie: Type 'Gtk::Main' could not be resolved . So konnte ich Code wie diese, aber es ist wirklich ein Schmerz mit Autovervollständigung nicht funktioniert und rote Linien überall auf dem Bildschirm. Wie kann ich das lösen?

Mein Code sieht in etwa so aus:

#include <gtkmm-3.0/gtkmm.h>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    Gtk::Main kit(true);

    Gtk::Box* box = new Gtk::Box();

    ...

Ich glaube aber nicht, dass es mit dem Code zusammenhängt. Denn es funktioniert gut in Code::Blocks, mit Code-Vervollständigung und alles. Aber ich bevorzuge Eclipse gegenüber C::B.

// Daniel

4voto

ptomato Punkte 53719

Wählen Sie Projekt -> Eigenschaften aus dem Menü, um das Eigenschaftsfenster zu öffnen. Gehen Sie dann im Selektor auf der linken Seite auf C/C++ allgemein -> Pfade und Symbole . Es wird eine Liste der Include-Verzeichnisse angezeigt. Sehen Sie sich die Ausgabe von pkg-config --cflags gtkmm-3.0 und stellen Sie sicher, dass alle dort genannten Verzeichnisse auch in dieser Liste enthalten sind.

Beachten Sie, dass dies die Pfade sind, in denen der Syntax-Checker von Eclipse nach Include-Dateien sucht. Ihr Code lässt sich problemlos kompilieren, da der Compiler diese Dateien auf die richtige Weise findet.

2voto

Fat Noodle Punkte 105

Wie ptomato sagte, müssen die Pfade konfiguriert werden. Ein sehr einfacher Weg ist die Verwendung der pkg-conf einstecken. Nach der Installation müssen Sie nur noch gtkmm-3.0 in der Konfiguration . Der Rest wird vom Plug-in erledigt. Hoffentlich hilft dieses Bild. Bitte beachten: Der Screenshot zeigt die Konf. für GTK-2.0. Sie benötigen die GTKMM-3.0 .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X