2015-11-11 177 views
0

我想設置Marble在OSX上使用Qt 5.5。我對鏈接的細節不太熟悉,而且我認爲這會導致我遇到的問題。設置Marble與Qt一起工作

問題:我搞砸了'大理石'安裝還是這是一個容易解決的鏈接問題?

在運行OSX 10.9.5的系統上,Qt 5.5安裝在我的用戶目錄(使用Qt的網絡安裝程序)中。它工作正常。我跟着大理石網站上的instructions克隆,構建和從源代碼安裝(我相信)適當的Qt標誌。這似乎沒有問題。當我嘗試構建列出的簡單測試應用程序here時,#include <marble/MarbleWidget.h>行顯示「文件未找到」錯誤。

在安裝完畢後,我結束了以下內容:與其他各種沿

A「大理石」目錄在我的根用戶文件夾

enter image description here

A「Marble.app」文件marble bin和include目錄中的相關文件。然而,Marble.app給出推出了以下錯誤:

dyld的錯誤信息:庫沒有加載: @是rpath/QtCore.framework /版本/ 5/QtCore從參考: 在/ usr /本地/大理石。應用程序/內容/ MacOS的/大理石-QT原因:圖像不 發現

二元圖像: 0x7fff6a1f9000 - 0x7fff6a22c817 dyld的(239.4)< 7AD43B9B-5CEA-3C7E-9836-A06909F9CA56>/usr/lib中/ dyld的

enter image description here

回答

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」 廢話,文字的lib名稱和它的作品。不知道它有什麼不同 - 但你去。

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

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

構建錯誤或者您需要安裝不同版本的Qt才能運行它。通常,應用程序具有需要封裝在應用程序中的Qt庫。如果它不在那裏,它會搜索你的Mac。消息說QtCore在任何地方都找不到。如果您查看Google的Google地球,您可以看到這些庫的存儲位置。您也可以將一個QtCore版本複製到您的Marble中,以查看它是否可行。