qt Programm startet nicht per doppelklick

sir.hacks.alot

Aktives Mitglied
Thread Starter
Registriert
10.03.2005
Beiträge
2.408
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?
 

below

Aktives Mitglied
Registriert
15.03.2004
Beiträge
13.564
Gibt es Einträge in der Console?

Liegt wahrscheinlich an einer falschen Info.plist

Alex
 

sir.hacks.alot

Aktives Mitglied
Thread Starter
Registriert
10.03.2005
Beiträge
2.408
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
 

below

Aktives Mitglied
Registriert
15.03.2004
Beiträge
13.564
Da steht es ja:

dyld: Library not loaded: libqt.3.dylib

Alex
 

below

Aktives Mitglied
Registriert
15.03.2004
Beiträge
13.564
Weiss nicht, das ist was für die Qt Fraktion

Alex
 

pseudogc

Mitglied
Registriert
19.12.2005
Beiträge
704
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
 

sir.hacks.alot

Aktives Mitglied
Thread Starter
Registriert
10.03.2005
Beiträge
2.408
DYLD_LIBRARY_PATH ist gesetzt.
wenn man vorne weg ein qmake -project macht wir automatisch eine .pro Datei angelegt die eine .app-Verzeichnisstruktur erzeugt.
 

pseudogc

Mitglied
Registriert
19.12.2005
Beiträge
704
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:

sir.hacks.alot

Aktives Mitglied
Thread Starter
Registriert
10.03.2005
Beiträge
2.408
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.
 
Oben Unten