9

Qt 4.7.4 を使用して osx snow leopard でビルドして正常に実行していたアプリがありますが、その macbook は死亡しました。現在、マウンテン ライオン (10.8.2) と Qt 4.8.3 を実行する新しい macbook をセットアップしています。アプリをビルドできますが、Qt Creator 2.6.0 内から実行しようとすると、次の実行時エラーが発生します。

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.

Finder から実行すると、同様のエラーが発生します。

otool は私に与えます:

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)

ユキヒョウからマウンテン ライオンに、または Qt 4.7.4 から 4.8.3 に変更されたために、この問題が発生しましたか? それとも、新しい MacBook ですべてをセットアップする手順を逃したのでしょうか? 私はまだ学んでいます - 実際には Qt と Mac の両方の初心者であり、主要な開発者が去った後もこのプロジェクトを維持しようとしています。

ありがとう、デビッド

4

3 に答える 3

17

Qtプロジェクト設定のランタイム設定で、コンパイルしたICUライブラリへのパスを追加する必要があります。環境変数などを設定するグリッドがあります。必要なのはDYLD_LIBRARY_PATH、ICUライブラリへのパスを設定(または追加)することです。

これにより、Qtが../lib/libicudata.46.1.dylib実際のライブラリファイルに解決できるようになります。

于 2012-11-28T22:29:14.100 に答える
0

Qt 5.2.0 オフライン インストーラーにはバグがあり、実行可能ファイルがインストール場所ではなくルート パスで Qt ライブラリを検索します。

エラー例:

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.

修理:

Qt インストール パスを指定すると、次のいずれかを実行する必要があります。

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

または

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

あなたは私が推測する考えを得る。qt のインストール場所から探している場所へのリンクを作成するだけです。

于 2014-02-07T23:12:57.147 に答える
0

Qt5.11.3で QtCreator を再起動したところ、問題は解決しました!

于 2019-04-27T12:08:48.753 に答える