qt Programm startet nicht per doppelklick

  1. sir.hacks.alot

    sir.hacks.alot Thread Starter MacUser Mitglied

    Mitglied seit:
    10.03.2005
    Beiträge:
    2.408
    Zustimmungen:
    113
    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?
     
  2. below

    below MacUser Mitglied

    Mitglied seit:
    15.03.2004
    Beiträge:
    13.289
    Zustimmungen:
    1.086
    Gibt es Einträge in der Console?

    Liegt wahrscheinlich an einer falschen Info.plist

    Alex
     
  3. sir.hacks.alot

    sir.hacks.alot Thread Starter MacUser Mitglied

    Mitglied seit:
    10.03.2005
    Beiträge:
    2.408
    Zustimmungen:
    113
    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
    
     
  4. below

    below MacUser Mitglied

    Mitglied seit:
    15.03.2004
    Beiträge:
    13.289
    Zustimmungen:
    1.086
    Da steht es ja:

    dyld: Library not loaded: libqt.3.dylib

    Alex
     
  5. sir.hacks.alot

    sir.hacks.alot Thread Starter MacUser Mitglied

    Mitglied seit:
    10.03.2005
    Beiträge:
    2.408
    Zustimmungen:
    113
    Und was kann ich dagegen tun?
     
  6. below

    below MacUser Mitglied

    Mitglied seit:
    15.03.2004
    Beiträge:
    13.289
    Zustimmungen:
    1.086
    Weiss nicht, das ist was für die Qt Fraktion

    Alex
     
  7. pseudogc

    pseudogc MacUser Mitglied

    Mitglied seit:
    19.12.2005
    Beiträge:
    702
    Zustimmungen:
    82

    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
     
  8. sir.hacks.alot

    sir.hacks.alot Thread Starter MacUser Mitglied

    Mitglied seit:
    10.03.2005
    Beiträge:
    2.408
    Zustimmungen:
    113
    DYLD_LIBRARY_PATH ist gesetzt.
    wenn man vorne weg ein qmake -project macht wir automatisch eine .pro Datei angelegt die eine .app-Verzeichnisstruktur erzeugt.
     
  9. pseudogc

    pseudogc MacUser Mitglied

    Mitglied seit:
    19.12.2005
    Beiträge:
    702
    Zustimmungen:
    82
    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
     
  10. sir.hacks.alot

    sir.hacks.alot Thread Starter MacUser Mitglied

    Mitglied seit:
    10.03.2005
    Beiträge:
    2.408
    Zustimmungen:
    113
    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.
     
Die Seite wird geladen...