【问题标题】:setting up Marble to work with Qt设置 Marble 以使用 Qt
【发布时间】:2015-11-11 17:13:35
【问题描述】:

我正在尝试设置 Marble 以在 OSX 上使用 Qt 5.5。我对链接等细节不是很有经验,我认为这导致了我遇到的问题。

问题:我是否搞砸了“marble”安装,或者这是一个容易解决的链接问题?

Qt 5.5 安装在运行 OSX 10.9.5 的系统上的我的用户目录中(使用 Qt 的网络安装程序)。它工作正常。我按照 Marble 网站上的 instructions 使用(我相信)适当的 Qt 标志从源代码进行克隆、构建和安装。这似乎没有问题。当我尝试构建列出here 的简单测试应用程序时,#include <marble/MarbleWidget.h> 行给出了“找不到文件”错误。

安装后我得到了以下结果:

我的根用户文件夹中的“大理石”目录

“Marble.app”文件以及 bin 和包含目录中的各种其他 marble 相关文件。但是 Marble.app 在启动时会出现以下错误:

Dyld 错误消息:库未加载: @rpath/QtCore.framework/Versions/5/QtCore 引用自: /usr/local/Marble.app/Contents/MacOS/marble-qt 原因:图像不 找到了

二进制图像: 0x7fff6a1f9000 - 0x7fff6a22c817 dyld (239.4) /usr/lib/dyld

【问题讨论】:

    标签: qt marble


    【解决方案1】:

    所以一个半解决方案:我使用了 Qt Creator“添加库”功能并最终在 .pro 文件中添加了以下内容。由于对话框不允许浏览“usr/local/”,我不得不粘贴到 lib 的链接。此外,虽然我尝试链接到 lib 别名(“libmarblewidget-qt5.dylib”),但使用的是实际的 lib 名称。

    macx: LIBS += -L$$PWD/../../../../../usr/local/lib/ -lmarblewidget-qt5.0.21.80
    
    INCLUDEPATH += $$PWD/../../../../../usr/local/include
    DEPENDPATH += $$PWD/../../../../../usr/local/include
    

    我不明白这个$$PWD/../../../../../ 业务是什么。

    但它有效,我可以在我的问题中的链接处运行示例代码。

    我希望这个安装/构建的东西不是那么该死的神秘。我已经花费了无数个小时来尝试设置 - 真的很享受探索这些东西的乐趣,我不能说我真的从中学到了很多东西。


    更新

    所以我清除了“$$PWD”的废话和文字库名称,它就可以工作了。不确定它有什么不同 - 但你去吧。

    macx: LIBS += -L/usr/local/lib/ -lmarblewidget-qt5
    
    INCLUDEPATH +=/usr/local/include
    DEPENDPATH +=/usr/local/include
    

    【讨论】:

      【解决方案2】:

      要么构建有问题,要么您需要安装不同版本的 Qt 来运行它。通常,应用程序会在应用程序本身中包含它需要的 Qt 库。如果它不在那里,它将在您的 Mac 中搜索它。该消息说在任何一个地方都找不到 QtCore。如果您查看 Google 的 Google 地球,您可以看到这些库的存储位置。您还可以将 QtCore 的一个版本复制到您的 Marble 中,看看它是否可以工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-10-03
        • 2012-08-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多