2012-11-28 6 views
6

Ich habe eine App, die ich unter OSX Schnee Leopard mit Qt 4.7.4 gebaut und läuft gut, aber das Macbook starb. Ich richte jetzt ein neues Macbook mit Berglöwen (10.8.2) und Qt 4.8.3 ein. Ich kann meine app bauen, aber wenn ich versuche, es zu laufen aus Qt Creator 2.6.0 ich diesen Laufzeitfehler erhalten:qt mac osx 10.8 dyld: Bibliothek nicht geladen ... Bild nicht gefunden

dyld: Library not loaded: ../lib/libicudata.46.1.dylib 
    Referenced from: /Users/david/dev/svn/map_creator/karte-build-Desktop-Debug/debug/MapCreator.app/Contents/MacOS/MapCreator 
    Reason: image not found 
The program has unexpectedly finished. 

ich einen ähnlichen Fehler es von Finder ausgeführt wird.

otool gibt mir:

Davids-MacBook-Pro:map_creator david$ otool -L karte-build-Desktop-Debug/debug/MapCreator.app/Contents/MacOS/MapCreator 
karte-build-Desktop-Debug/debug/MapCreator.app/Contents/MacOS/MapCreator: 
    ../lib/libicudata.46.1.dylib (compatibility version 46.0.0, current version 46.1.0) 
    libicui18n.46.dylib (compatibility version 46.0.0, current version 46.1.0) 
    libicuuc.46.dylib (compatibility version 46.0.0, current version 46.1.0) 
    /System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 945.11.0) 
    /System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 55179.1.0) 
    /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1187.34.0) 
    /Users/david/dev/qt483/lib/QtSvg_fmosoft.framework/Versions/4/QtSvg_fmosoft (compatibility version 4.8.0, current version 4.8.3) 
    /Users/david/dev/qt483/lib/QtGui_fmosoft.framework/Versions/4/QtGui_fmosoft (compatibility version 4.8.0, current version 4.8.3) 
    /Users/david/dev/qt483/lib/QtCore_fmosoft.framework/Versions/4/QtCore_fmosoft (compatibility version 4.8.0, current version 4.8.3) 
    /Users/david/dev/qt483/lib/QtXmlPatterns_fmosoft.framework/Versions/4/QtXmlPatterns_fmosoft (compatibility version 4.8.0, current version 4.8.3) 
    /Users/david/dev/qt483/lib/QtNetwork_fmosoft.framework/Versions/4/QtNetwork_fmosoft (compatibility version 4.8.0, current version 4.8.3) 
    /usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0) 
    /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1669.0.0) 
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0) 
    /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0) 
    /System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 744.12.0) 

Did von Schneeleopard auf Berglöwen etwas zu ändern oder von Qt 4.7.4 bis 4.8.3, das dieses Problem verursacht? Oder vielleicht habe ich einen Schritt verpasst, um alles auf meinem neuen Macbook einzurichten? Ich lerne immer noch - wirklich nur ein Anfänger auf Qt und Mac, versuche, dieses Projekt zu erhalten, nachdem der primäre Entwickler gegangen ist.

Danke, David

Antwort

14

In Ihren Einstellungen Qt-Projekt unter Laufzeiteinstellungen, werden Sie den Pfad zu den ICU-Bibliotheken, die Sie zusammengestellt hinzufügen. Es gibt ein Raster, in dem Sie Umgebungsvariablen usw. setzen. Der gewünschte Wert lautet DYLD_LIBRARY_PATH und den Pfad zu den ICU-Bibliotheken festlegen (oder anhängen).

Das wird Qt ermöglichen, ../lib/libicudata.46.1.dylib in die eigentliche Bibliotheksdatei aufzulösen.

+4

Ich traf das gleiche Problem. Ich dachte, indem Sie 'DYLD_LIBRARY_PATH' in '.bashrc' setzen, ist ok, aber schließlich behoben, indem Sie Ihrer Anweisung folgen. Genauer gesagt für Neulinge, die Schritte: in der Projekteinstellung, folgen Sie 'Projekte> Ausführen (unter etwas wie Qt 4.8.5)> Umgebung ausführen> Hinzufügen', fügen Sie dann 'DYLD_LIBRARY_PATH' hinzu und setzen Sie es auf das gewünschte lib-Verzeichnis. – ying17zi

+0

vielen Dank dafür !!! – appsthatmatter

+1

Gibt es dafür eine skalierbarere Lösung? Ich versuche, ein Build-System einzurichten, ohne irgendetwas hart zu codieren, und ich bin ziemlich neu in OS Xs Umgebung. Außerdem verwende ich Qt Creator nicht. –

0

Es gibt einen Fehler im Qt 5.2.0 Offline-Installer, der bewirkt, dass die ausführbaren Dateien nach den Qt-Bibliotheken im Stammpfad suchen, anstatt nach den Installationsorten.

Beispiel Fehler:

dyld: Library not loaded: /usr/local/Qt-5.2.0/lib/QtGui.framework/Versions/5/QtGui 
Referenced from: /Users/JRP/Dropbox/STANFORD/CS106B/HW1/build-Life-Desktop_Qt_5_2_0_clang_64bit-Debug/Life.app/Contents/MacOS/Life 
Reason: image not found 
The program has unexpectedly finished. 

Fix:

der Qt-Installationspfad Gegeben Sie entweder laufen soll:

sudo ln -s /Users/$USER/Qt5.2.0/5.2.0/clang_64/ /usr/local/Qt-5.2.0 

Oder

sudo ln -s /Users/ito/Qt/5.2.0/clang_64/ /usr/local/Qt-5.2.0 

Sie erhalten die Idee, die ich annehmen. Es erstellt nur einen Link vom Installationsort von qt zu dem Ort, nach dem er sucht.

Verwandte Themen