Archiv verlassen und diese Seite im Standarddesign anzeigen : compilieren mit qt
Also die Compiler Version ist die gleiche, ich hab qt 2.3.1 erst gestern neu kompiliert. Mit den SuSe rpm's hats genausowenig funktionert.
[ 04. Oktober 2001: Beitrag editiert von: MrBurns ]
Hi,
also es scheint hier ein leidiges Thema zu sein, aber ich hab bei allen Thread nicht die Lösung für mein Problem gefunden deswegen:
Ich möchte gerne eine KDE Anwendung kompilieren, aber es hängt immer an den QT libraries. Meldung bei configure:
checking for Qt... Qt (>= Qt 2.2.1) (libraries) not found....
Mein QTDIR ist /usr/lib/qt2,welches ein link auf /usr/lib/qt-2.3.1 ist. KDE benutze ich in der Version 2.2.1. Mein QT habe ich selbst kompiliert und ich denke, daß alle header und include Dateien vorhanden sind, trotzdem funktioniert es nicht. Ich bin schier am verzweifeln, hab schon alles ausprobiert was ich hierfür an Lösungen gefunden habe.
Danke für Eure Hilfe.
Schau dir mal die letzten Zeilen der config.log an. Da kann man erkennen, warum er meckert.
Wenn du es nicht findest, dann poste mal die letzten Zeilen, wo er nach qt sucht.
CU
Moin!
Eigentlich sollte es ein einfaches ./configure --with-qt=/usr/lib/qt2 tun. Tut es nicht?
cu Johannes
Also configure --with-qt.... bringt auch nichts. Hab schon alles ausprobiert, auch with-qt-libraries und includes. Hier nun meine config.log:
configure:5148: checking for Qt
tried NO
configure:5309: rm -rf SunWS_cache; g++ -o conftest -O2 -fno-exceptions -fno-check-new -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -Wno-long-long -fno-builtin -I/usr/lib/qt2/include -I/usr/X11R6/include -L/usr/lib/qt2/lib -L/usr/X11R6/lib conftest.C -lqt -lpng -lz -lm -ljpeg -lXext -lX11 -lSM -lICE 1>&5
conftest.C: In function `int main()':
conftest.C:15: warning: unused variable `QStringList*t'
conftest.C:20: warning: unused variable `int magnolia'
/tmp/cct3qphC.o: In function `main':
/tmp/cct3qphC.o(.text+0x38): undefined reference to `QString::shared_null '
/tmp/cct3qphC.o(.text+0x6b): undefined reference to `QIconView::QIconView(QWidget*, char const*, unsigned)'
/tmp/cct3qphC.o(.text+0x77): undefined reference to `QIconView::setWordWrapIconText(bool)'
/tmp/cct3qphC.o(.text+0x7c): undefined reference to `QString::shared_null '
/tmp/cct3qphC.o(.text+0x9f): undefined reference to `QString::setLatin1(char const*, int)'
/tmp/cct3qphC.o(.text+0xb4): undefined reference to `QString::shared_null '
/tmp/cct3qphC.o(.text+0xbf): undefined reference to `QStringData::deleteSelf() '
/tmp/cct3qphC.o(.text+0xd1): undefined reference to `QIconView::~QIconView()'
/tmp/cct3qphC.o(.text+0xf2): undefined reference to `QString::shared_null '
/tmp/cct3qphC.o(.text+0x101): undefined reference to `QString::makeSharedNull() '
/tmp/cct3qphC.o(.text+0x111): undefined reference to `QString::makeSharedNull() '
collect2: ld returned 1 exit status
configure: failed program was:
#include "confdefs.h"
#include qglobal.h
#include qapplication.h
#include qapp.h
#include qobjcoll.h
#include qevent.h
#include qstring.h
#include qstyle.h
#include qiconview.h
#if ! (QT_VERSION >= 221)
#error 1
#endif
int main() {
QStringList *t = new QStringList();
QIconView iv(0);
iv.setWordWrapIconText(false);
QString s;
s.setLatin1("Elvis is alive", 14);
int magnolia = QEvent::Speech; /* new in 2.2 beta2 */
return 0;
}
[ 04. Oktober 2001: Beitrag editiert von: MrBurns ]
[ 04. Oktober 2001: Beitrag editiert von: MrBurns ]
ich verschiebe das ins passende forum...
Tosk
Kann es sein das Du eine falsche Compiler-Version benutzt?
Zwischen g++-2.95, 2.96, 3.0 gibt es inkompatible Aenderungen im Binaerformat.
Wenn dein qt mit einem anderen Compiler erstellt wurde, kann dein Compiler die Klassen in den Libs nicht finden.
Probier mal ein:
export LIBRARY_PATH=/usr/lib/qt2/lib:$LIBRARY_PATH
bevor du
rm config.cache
./configure ...
laufen laesst.
Irgenwie findet gcc eine alte libqt.so
Ich habe letztens erst QT kompiliert und mir fehlen bei deinen Ausführungen zwei Dinge:
1. rpm -e qt solltest du gemacht haben, damit er die alte Version schon mal nicht mehr finden kann
2. QT hast du vermutlich so konfiguriert:
- ./configure -thread -..
Vor allem das -thread ist wichtig.
Aber dann musst du noch Eintragungen in die /root/.bash_profile und /home/Benutzer/.bash_profile machen. Das muss ungefähr so aussehen:
QTDIR=/usr/local/qt
PATH=$QTDIR/bin:$PATH
MANPATH=$QTDIR/doc/man:$MANPATH
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QTDIR PATH MANPATH LD_LIBRARY_PATH
Es sollte in /local liegen, aber vermutlich reicht es wenn du stattdessen halt ..lib.. nimmst. Nach einem neuen Login hat er dann kapiert wo die Libs zu suchen sind.
Ich konnte nun Prima "Drip" Kompilieren ohne noch mal Ärger mit QT zu bekommen.
Das steht im Übrigen alles in der Anleitung, also INSTALL glaub ich.
Also ich hab jetzt nochmal alles gelöscht was mit qt zu tun hatte. Dann hab ich die rppm Packete von Suse eingespielt:
qtlib
qt-2.3.1
qt-devel-2.3.1
qt-extensions-2.3.1
der QTDIR liegt wieder auf /usr/lib/qt2, aber es funktioniert immer noch nicht. Ich weiß nicht was ich noch machen soll!
Vergiss doch das ganze und kompilier dir qt einfach selbst. Dauert etwa 1 1/2 Stunden, aber dann läuft es wie es soll. Bei mir haben dir RPM Pakete für REDHAT auch nur Ärger gemacht weil sie nicht mit -thread kompiliert wurden.
Schau auch mal hier:
http://www.linuxforen.de/cgibin/ubb/ultimatebb.cgi?ubb=get_topic&f=9&t=000724
O.K. Werd mich dann heute Abend wieder dransetzen. Eine Frage hab ich noch bei trolltech gibt es ja zwei QT versionen embedded und X11. Welche von beiden brauche ich da?
Danke, meld mich dann heute Abend wieder!
Ich hab 2.3.1 mit X11 genommen und kompiliert.
Ich mein so:
./configure -thread -no-g++-exceptions
Dann "make" und eine Stunde Geduld aufbringen.
Danach noch die schon beschriebenen Eintragungen machen und vorher die alte QT Version killen.
Eventuell musst du auch noch andere Anhängsel machen, aber die beiden die jetzt da stehen solltest du mindestens haben.
Also ich hab jetzt ersmtal alles gelöscht was ich zu qt gefunden habe. Dann hab ich die QT_embedded kompiliert, mit -thread -no-g++-exceptions -gif -system-jpg
Der qt Path hat auch gepaßt aber funktioniert hat es trotzdem nicht, immer noch die gleich Fehlermeldung. (Die config.cache hab ich gelöscht)
Ich werde dann morgen nochmal das qt X11 ausprobieren, in der Hoffnung das es dann damit endlich geht.
Gute Nacht!
Leiber Mr. Burns,
Ihr Problem ist mir wohlbekannt.
Ich hätte da folgenden Lösungs Vorschlag:
Aus irgendwelchen Gründen,läuft die lib-Überprüfung folgenden Weg:QTLIB=/usr/lib/qt->/usr/lib/qt2
Lösungsmöglichkeit:
Für das kompilieren,ist es das einfachste,wenn auch nicht schönste Lösung,das Verzeichnis qt solange umzubenennen.
Ich hatte solche Probleme auch,bis ich auf diese recht simple Idee kam.
Probier es einfach aus.
Ich hoffe ich konnte dir Helfen.
Greetings Zaphod
Also das mit dem umbenennen hat auch nicht geklappt. :confused: :confused:
um welches quellen handelt es sich denn?
ein link auf den download wäre nicht schlecht. könnte sein, dass das configure-script futsch ist?
Also es geht um mp3kult:
http://prdownloads.sourceforge.net/mp3kult/mp3kult-0.4.tar.gz
Ich glaube aber nicht, daß es am configure liegt. Das Problem tritt nämlich auch bei anderen Programmen auf!
Ich habs endlich geschafft. Also ich hab QT nochmal selbst kompiliert, da aber mein KDE2 mit dem selbskompilierten nicht starten wollte, hab ichs woanders hinkompiliert und jetzt muß ich halt bei configure immer -with-qt-dir machen.
Ich danke Euch allen für Eure Hilfe.
Einen schönen Abend noch
CU
Andi :D
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.