【问题标题】:qt mac osx 10.8 dyld: library not loaded...image not foundqt mac osx 10.8 dyld:库未加载...找不到图像
【发布时间】:2012-11-16 16:44:42
【问题描述】:

我有一个应用程序,我正在使用 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 上的新手,试图在主要开发人员离开后维护这个项目。

谢谢, 大卫

【问题讨论】:

    标签: macos qt dyld


    【解决方案1】:

    在您的 Qt 项目设置中,在运行时设置下,您必须添加您编译的 ICU 库的路径。有一个网格,您可以在其中设置环境变量等。您想要的是DYLD_LIBRARY_PATH,并设置(或附加)ICU 库的路径。

    这将使 Qt 能够将 ../lib/libicudata.46.1.dylib 解析为实际的库文件。

    【讨论】:

    • 我遇到了同样的问题。我认为通过在.bashrc 中设置DYLD_LIBRARY_PATH 就可以了,但最终按照您的指示进行了修复。更准确的说是新手,步骤:在项目设置面板中,关注Projects > Run (under something like Qt 4.8.5) > Run Environment > Add,然后添加DYLD_LIBRARY_PATH,设置到需要的lib目录下。
    • 有没有更可扩展的解决方案?我正在尝试建立一个没有硬编码任何东西的构建系统,而且我对 OS X 的环境还很陌生。另外,我不使用 Qt Creator。
    【解决方案2】:

    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 安装位置到它正在寻找的位置的链接。

    【讨论】:

      【解决方案3】:

      在 Qt 5.11.3 上,我重新启动 QtCreator,问题得到解决!

      【讨论】:

        猜你喜欢
        • 2013-09-22
        • 2013-12-25
        • 2014-11-24
        • 2012-03-20
        • 2013-07-16
        • 1970-01-01
        • 1970-01-01
        • 2017-04-09
        • 2020-10-15
        相关资源
        最近更新 更多