我正在尝试设置Marble以在OSX上使用Qt 5.5。我对链接的细节不太熟悉,而且我认为这导致了我遇到的问题。
问题:我是否搞砸了'marble`安装或这是一个容易解决的链接问题?
在运行OSX 10.9.5的系统上,我的用户目录(使用Qt的网络安装程序)安装了Qt 5.5。它工作正常。我跟着Marble站点上的instructions来克隆,构建和安装源代码(我相信)适当的Qt标志。这似乎没有问题。当我尝试构建列出here的简单测试应用时,#include <marble/MarbleWidget.h>
行会出现“找不到文件”错误。
安装完成后,我最终得到以下内容:
我的root用户文件夹中的“marble”目录
“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的
答案 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中,看它是否有效。