Re: Hello World

David Haller <[email protected]>
Newsgroups gmane.linux.suse.programming
Message-ID <[email protected]>
Hallo,

Am Son, 07 Jun 2009, Sascha 'saigkill' Manns schrieb:
>g++ $CXXFLAGS $(pkg-config --cflags --libs QtGui) khelloworld.cpp -o 
>khelloworld
>khelloworld.cpp:7:18: error: kapp.h: Datei oder Verzeichnis nicht 
>gefunden

Das ist ein KDE <= 3 Header.

>khelloworld.cpp:14:24: error: qpopupmenu.h: Datei oder Verzeichnis nicht 
>gefunden

Das ist ein QT <= 3 Header.

>Gibts kapp und qpopupmenu auch für die neueren QT/KDE Versionen? 

Anscheinend nicht. Die jew. Funktionen sind wohl "umgezogen" /
entfernt worden. Bei QT3 gibt's ja z.B. eigentlich nur die libqt[-mt],
bei QT4 jetzt diverse libs (libQtCore, libQtGui ...) und dabei wurden
auch die Header umorganisiert (nicht daß ich Ahnung von QT/KDE > 1
hätte, aber man wühlt sich halt ab und an beim Paketebacken dran
vorbei ...).

Generell fehlen bei solchen Fehlermeldungen meist die passenden
Include-Flags (-I PFAD), oder eben die Header (weil -devel RPM nicht
installiert). Oder eben Umorganisation...

Was du bei pkg-config jew. alles als Paket angeben kannst findest du
in den (diversen) lib/pkgconfig/ Verzeichnissen (vgl. echo
$PKG_CONFIG_PATH oder

    echo $PKG_CONFIG_PATH | tr ':' ' ' | xargs -r ls -1

oder per

    rpm -ql DEVELPAKET | grep '\.pc'

Andere Software hat auch *-config scripte oder *Conf.sh
Scriptfragmente (letzte z.B. v.a. im Gnome-Umfeld).

Ich persönlich mag die -config Scripte am liebsten. Ein

    $(foo-config --cflags --libs)

ist einfach intuitiv, bei pkg-config muß man des öfteren nachgucken,
wie das Teil wirklich heißt (z.B. pkg-config --cflags gtk+-2.0).

Achso, beim gucken, wo welcher Header herkommt / herkam ist 'webpin'
sehr hilfreich. Ein 'webpin kapp.h' bzw. 'webpin qpopupmenu.h' liefert
recht eindeutige Hinweise (nur) auf QT3/KDE3 Pakete.

-dnh, der GTK1 und QT1 am liebsten mag, wenn's schon GTK/QT sein soll ;)

-- 
    Listen, three eyes, don't you try to outweird me.  I get stranger
    things than you free with my breakfast cereal.     -- Zaphod Beeblebrox
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.