Konfliktmeldung beim Kompilieren

Post Reply
Message
Author
Jürgen+Höschler

Konfliktmeldung beim Kompilieren

#1 Post by Jürgen+Höschler »

ich versuche momentan eine Programm mit KDE2 und Qt-Unterstützung zu compilieren. Leider bekomme ich immer die Fehlermeldung:
"/usr/i486-suse-linux/bin/ld: warning libqt.so.2, needed by /opt/kde2/lib/libDCOP.so.1, may conflict with libqt.so.1.

Den Compilerbefehl lautet wie folgt: g++ khelloworld.cpp -o khelloworld -I$KDEDIR/include -L$KDEDIR/lib -I$QTDIR/include -lkdeur
-lkdecore -lqt <eingabe>

Vorher habe ich noch die Verzeichnisse festgelegt:
QTDIR=/usr/lib/qt-2.3.1 und
KDEDIR=/opt/kde2


Der Quellcode lautet:

// KHelloWorld

#include <kaction.h>
#include <kapp.h>
#include <kcmdlineargs.h>
#include <klocale.h>
#include <kmainwindow.h>
#include <kmenubar.h>
#include <kstdaction.h>
#include <qlabel.h>
#include <qpopupmenu.h>

int main (int argc, char **argv)
{
QString aboutText("KDE- und Qt-Programmierung
"
"(c) 2000 Addison-Wesley Germany");
KCmdLineArgs::init (argc, argv, "khelloworld",
aboutText, "1.0");
KApplication app;
KMainWindow *top = new KMainWindow();

QPopupMenu *filePopup = new QPopupMenu (top);
KAction *quitAction;
quitAction = KStdAction::quit (&app, SLOT (quit()));
quitAction->plug (filePopup);

top->menuBar()->insertItem (i18n ("&File"), filePopup);
top->menuBar()->insertSeparator();
top->menuBar()->insertItem (i18n ("&Help"),
top->helpMenu());

QLabel *text = new QLabel(
i18n("<H1>Hello, World!<H1>"), top);
top->setCentralWidget (text);
top->show();

return app.exec();
}

Ich arbeite unter SuSE 7.3

Wie bekomme ich das Programm ans Laufen?

Gruss Jürgen Höschler

Boron

Re: Konfliktmeldung beim Kompilieren

#2 Post by Boron »

Hallo Jürgen+Höschler,

Offensichtlich findet der Kompiler beide Versionen der Qt-Bibliotheken: libqt.so.2 ist (in deinem Fall) die Version 2.3.1 und libqt.so.1 ist Version 1.4.5.

- Hast du QTDIR und KDEDIR mit "export" exportiert?
("export QTDIR=/usr/lib/qt-2.3.1" und "export KDEDIR=/opt/kde2")
- Vielleicht findet er libqt.so.1 auch nur deshalb weil im Kompileraufruf "-lqt" angegeben wird. Lass -lqt mal weg.

Viel Glück
Boron

Jürgen Höschler

Re: Konfliktmeldung beim Kompilieren

#3 Post by Jürgen Höschler »

Hallo Boron,

vielen Dank für den Tip. So hat es funktioniert.

Gruß Jürgen

Post Reply