设置Marble以使用Qt

时间:2015-11-11 17:13:35

标签: qt marble

我正在尝试设置Marble以在OSX上使用Qt 5.5。我对链接的细节不太熟悉,而且我认为这导致了我遇到的问题。

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

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

安装完成后,我最终得到以下内容:

我的root用户文件夹中的“marble”目录

enter image description here

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

  

Dyld错误消息:未加载库:   @ rpath / QtCore.framework / Versions / 5 / QtCore参考自:   /usr/local/Marble.app/Contents/MacOS/marble-qt原因:图片没有   结果

     

二进制图像:       0x7fff6a1f9000-0x7fff6a22c817 dyld(239.4)&lt; 7AD43B9B-5CEA-3C7E-9836-A06909F9CA56&gt; / usr / lib中/ dyld的

enter image description here

2 个答案:

答案 0 :(得分:1)

这是一个半解决方案:我使用了Qt Creator“添加库”功能,最后添加了以下.pro文件。我必须粘贴到lib的链接,因为对话框不允许浏览“usr / local /”。此外,虽然我尝试链接到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”废话和文字lib名称,它的工作原理。不知道它有什么不同 - 但你去了。

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

INCLUDEPATH +=/usr/local/include
DEPENDPATH +=/usr/local/include

答案 1 :(得分:0)

构建有问题,或者您需要安装不同版本的Qt才能运行它。通常,应用程序具有需要在应用程序本身中包含的Qt库。如果它不在那里它会搜索你的mac。消息说在任何一个地方都找不到QtCore。如果你查看谷歌的谷歌地球,你可以看到库的存储位置。您还可以将QtCore的一个版本复制到Marble中,看它是否有效。