qt Programm startet nicht per doppelklick

sir.hacks.alot

Aktives Mitglied
Thread Starter
Dabei seit
10.03.2005
Beiträge
2.408
Reaktionspunkte
115
Ich habe hier qt 3.3.7 selber kompiliert installiert. Ich kann aus qt erstellte .app dateien per open aus der Konsole starten, aber nicht per doppelklick aus dem Finder. Woran kann das liegen?
 
Gibt es Einträge in der Console?

Liegt wahrscheinlich an einer falschen Info.plist

Alex
 
Code:
===== Dienstag, 16. Januar 2007 18:54 Uhr Europe/Vienna =====
dyld: Library not loaded: libqt.3.dylib
  Referenced from: /Users/thomas/Desktop/test 12/Sudoku/src/src.app/Contents/MacOS/src
  Reason: image not found
Jan 16 18:55:26 Thomas-xxxs-Computer crashdump[1634]: src crashed
Jan 16 18:55:26 Thomas-xxxs-Computer crashdump[1634]: crash report written to: /Users/thomas/Library/Logs/CrashReporter/src.crash.log
 
Da steht es ja:

dyld: Library not loaded: libqt.3.dylib

Alex
 
Weiss nicht, das ist was für die Qt Fraktion

Alex
 
below schrieb:
Da steht es ja:

dyld: Library not loaded: libqt.3.dylib

Alex


gentlepersons,

die Bibliotheken sind schlicht nicht im Bibliotheken-Pfad. standardmaessig installiert sich Qt3 in /Developer/qt - zum Ausfuehren von Programmen muss die Pfadvariable fuer dynamische Bibliotheken (DYLD_LIBRARY_PATH) entsprechend erweitert werden (wie das fuer die jeweils verwendete Shell geht, steht im Installations-readMe von Qt3… irgendwann habe ich dazu aus anderem Anlass mal das hier geschrieben -> http://naranja.umh.es/~atg/B1098370398/C61549444/E361644811/index.html. *Ohne Aenderung sucht MacOSX in /usr/lib und /usr/local/lib - nur sind die Bibliotheken da halt nicht*

Wenn Qt-basierte Programme per Doppelklick via Finder gestartet werden sollen, muss man mitunter noch eine entsprechend MacOSX Applikationsstruktur ("wasauchimmerfuereinQtProgramm".app"-Verzeichnis) erzeugen. Das kann man beispielsweise durch Editieren der .pro-Datei *wenn man qmake benutzt* erzwingen, oder auch "haendisch" erledigen (die Pfadzuweisung kann man dann auch gleich via plist erledigen).

cheers,
pseudogc
 
DYLD_LIBRARY_PATH ist gesetzt.
wenn man vorne weg ein qmake -project macht wir automatisch eine .pro Datei angelegt die eine .app-Verzeichnisstruktur erzeugt.
 
sir.hacks.alot schrieb:
DYLD_LIBRARY_PATH ist gesetzt.
wenn man vorne weg ein qmake -project macht wir automatisch eine .pro Datei angelegt die eine .app-Verzeichnisstruktur erzeugt.

Yep, aber da fehlt dann halt der entsprechende Eintrag fuer DYLD_LIBRARY_PATH in der environment.plist beim Starten ueber den Finder. ->

.
.
.

<key>DYLD_LIBRARY_PATH</key>
<string>/usr/local/lib:/usr/lib:/Developer/qt/lib</string>
<key>PATH</key>
.
.
.


die andere Moeglichkeit ist, die benoetigten Bibliothekn einfach mit in die .app-Struktur zu packen und mittels "install_name_tool" dem executable zugaenglich zu machen . Alá:

install_name_tool -change libqt-mt.3.dylib @executable_path/../Frameworks/libqt-mt.3.dylib DeinProgramm.app/Contents/MacOS/DeinProgramm

Dafuer muss dann in der.app-Struktur Deines Programmes das Verzeichnis "Frameworks" angelegt werden *oder wie auch immer benannt* und die Bibliothek dorthin kopiert werden.

cheers,

pseudogc
 
Zuletzt bearbeitet:
Ich hatte die Lösung inzwischen auch gefunden:

Code:
ln -sf $QTDIR/lib/libqt.3.dylib /usr/lib
ln -sf $QTDIR/lib/libqui.1.dylib /usr/lib
ln -sf $QTDIR/lib/libqt.3.dylib $HOME/lib
ln -sf $QTDIR/lib/libqui.1.dylib $HOME/lib

habs aus der installationsanleitung von qt, hatte die wohl etwas schlampig gelesen bei der Installation.
 
Zurück
Oben Unten