Mac版Redis Desktop Manager編譯

Redis Desktop Manager編譯

本文主要講述rdm在mac下的編譯過(guò)程幔妨。

?一漏麦、下載源碼

git clone --recursive https://github.com/uglide/RedisDesktopManager.git -b 0.9 rdm && cd ./rdm

這里直接按照官方的說(shuō)明下載源碼并切換到0.9分支薄疚。

二懈玻、安裝XCode

由于較低版本的XCode帶的編譯工具xcodebuild可能無(wú)法編譯rdm的依賴項(xiàng)根盒,因此建議升級(jí)XCode,本人編譯時(shí)使用的XCode為10.1秉剑。 XCode的版本也會(huì)被系統(tǒng)版本限制無(wú)法升級(jí),如遇到此情況建議先升級(jí)系統(tǒng)稠诲。本人編譯時(shí)將系統(tǒng)升級(jí)到macOS Mojave 10.14.2侦鹏。

三、安裝Homebrew

由于編譯rdm需要用到其他工具或三方庫(kù)臀叙,因此系統(tǒng)最好安裝有包管理器方便下載或更新其他軟件包略水。

?四、拷貝plist文件

cd ./src && cp ./resources/Info.plist.sample ./resources/Info.plist

五劝萤、安裝依賴軟件包

brew install openssl cmake

六渊涝、編譯依賴項(xiàng)

該依賴項(xiàng)即包含第三方的軟件包也包含源碼中的部分,在編譯rdm之前需要提前安裝或使用XCode的工具編譯床嫌,按照官方文檔只需執(zhí)行以下配置好的代碼即可:

./configure

七跨释、編譯rdm

需要先安裝Qt5.9及Qt Creator,安裝完成后使用QtCreator打開(kāi)src下面的rdm.pro厌处,直接編譯鳖谈。

八、解決編譯問(wèn)題(重點(diǎn))

以上步驟完全基于官方文檔的說(shuō)明阔涉,但是很多人按照以上步驟仍然無(wú)法完成編譯工作缆娃,主要因?yàn)榫幾g過(guò)程中出現(xiàn)了較多官方文檔中為說(shuō)明的問(wèn)題,以下給出可能出現(xiàn)的問(wèn)題及解決辦法

1. xcodebuild 'quiet' 選項(xiàng)找不到

該問(wèn)題由于XCode版本較低導(dǎo)致瑰排,升級(jí)XCode即可贯要。

2. breakpad.xib無(wú)法編譯

找到該文件并使用XCode打開(kāi),在XCode右側(cè)有個(gè)Build for選項(xiàng)凶伙,選擇高版本的macOS郭毕。

3. 找不到string.h這個(gè)頭文件

遇到該問(wèn)題嘗試使用以下解決方式,任意一種可能都會(huì)解決該問(wèn)題函荣。

* 安裝或重裝XCode command line

* 清空Qt Creator的構(gòu)建目錄显押,重新編譯

* 取消shadow build

4. 無(wú)法生成app boudle

該問(wèn)題不影響編譯,但會(huì)影響到打包傻挂,而且編譯出來(lái)的rdm實(shí)際上是debug版本乘碑。正常編譯一個(gè)應(yīng)用程序一般都會(huì)選擇release版本,因此當(dāng)用Qt Creator編譯rdm時(shí)金拒,用戶可能通過(guò)直接點(diǎn)擊左下角的按鈕來(lái)編譯release兽肤。然而實(shí)際上rdm.pro的配置還是debug版本套腹,因此,此時(shí)用戶編譯出來(lái)的還是debug版本的rdm资铡,該rdm沒(méi)有app boudle电禀,只是生成了一個(gè)rdm的可執(zhí)行程序。為了解決該問(wèn)題并編譯真正release版本的rdm笤休,需要手動(dòng)修改rdm.pro文件:

CONFIG -= debug

CONFIG += release

然而做了該改動(dòng)之后rdm會(huì)編譯報(bào)crashreporter相關(guān)的錯(cuò)誤尖飞, 個(gè)人認(rèn)為是rdm的release版本的配置出了問(wèn)題(官方挖的坑?畢竟官方提供的需要訂閱費(fèi))店雅。對(duì)于該錯(cuò)誤可直接修改rdm.pro中mac相關(guān)的配置政基,找到并注釋掉以下代碼即可:

CRASHREPORTER_APP.files = $$DESTDIR/crashreporter

CRASHREPORTER_APP.path = Contents/MacOS

至此,rdm可以完成編譯運(yùn)行了闹啦。

九沮明、編譯帶ssh功能的rdm

官方0.9.9版本的rdm不帶ssh功能,若需要使用ssh可手動(dòng)切換到0.9.8. 注意保持以上修改不變窍奋。

1. 安裝libssh2

brew install libssh2

2. 編譯問(wèn)題

2.1 無(wú)法找到-lssh2

libssh2默認(rèn)安裝路徑為/usr/local/lib荐健,而對(duì)于有些系統(tǒng),該路徑不在系統(tǒng)庫(kù)文件的默認(rèn)搜索路徑中琳袄,為了找到該庫(kù)文件摧扇,可以修改系統(tǒng)配置文件來(lái)將其添加到默認(rèn)搜索路徑中,這里為了簡(jiǎn)單直接在rdm.pro中添加一下代碼:

LIBS += -L/usr/local/lib

2.2 編譯后界面黑屏

估計(jì)也是官方挖的坑挚歧,這里之所以黑屏是Qt Quick scenegraph backend的配置導(dǎo)致到扛稽,在0.9.9版本中統(tǒng)一使用了QSGRendererInterface::Software的方式渲染界面,然后在0.9.8版本卻改為了只在LINUX和WINDOWS上使用該方式滑负,為了解決該問(wèn)題只需要找到源碼中Application::initQml函數(shù)并注釋掉相關(guān)的預(yù)處理命令:

#if defined(Q_OS_WIN) || defined(Q_OS_LINUX) // 注釋掉

QQuickWindow::setSceneGraphBackend(QSGRendererInterface::Software);

#endif // 注釋掉

至此帶ssh功能的0.9.8版本編譯完成在张,并可正常運(yùn)行。根據(jù)本人的運(yùn)行結(jié)果顯示windows和mac os的0.9.9版本的多語(yǔ)言切換都存在問(wèn)題矮慕,只能顯示英文帮匾,而0.9.8版本卻是正常的,因此建議使用0.9.8版本痴鳄,而且還帶了ssh功能瘟斜。

3. 其他問(wèn)題

由于0.9.8版本不是最新版,因此程序每次運(yùn)行都會(huì)彈出更新和QuickStart彈框痪寻,為了解決該問(wèn)題螺句,直接找到對(duì)應(yīng)文件(app.qml中)注釋掉以下代碼:

Component.onCompleted: {

? ? if (connectionsManager.size() == 0)

? ? ? ? quickStartDialog.open()

}

十、參考文檔

RDM官方文檔

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末橡类,一起剝皮案震驚了整個(gè)濱河市蛇尚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌顾画,老刑警劉巖取劫,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件匆笤,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡谱邪,警方通過(guò)查閱死者的電腦和手機(jī)炮捧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)惦银,“玉大人寓盗,你說(shuō)我怎么就攤上這事¤岛” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵基显,是天一觀的道長(zhǎng)蘸吓。 經(jīng)常有香客問(wèn)我,道長(zhǎng)撩幽,這世上最難降的妖魔是什么库继? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮窜醉,結(jié)果婚禮上宪萄,老公的妹妹穿的比我還像新娘。我一直安慰自己榨惰,他們只是感情好拜英,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著琅催,像睡著了一般居凶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上藤抡,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天侠碧,我揣著相機(jī)與錄音,去河邊找鬼缠黍。 笑死弄兜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的瓷式。 我是一名探鬼主播替饿,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼贸典!你這毒婦竟也來(lái)了盛垦?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤瓤漏,失蹤者是張志新(化名)和其女友劉穎腾夯,沒(méi)想到半個(gè)月后颊埃,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蝶俱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年班利,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片榨呆。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡罗标,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出积蜻,到底是詐尸還是另有隱情闯割,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布竿拆,位于F島的核電站宙拉,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏丙笋。R本人自食惡果不足惜谢澈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望御板。 院中可真熱鬧锥忿,春花似錦、人聲如沸怠肋。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)笙各。三九已至列林,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間酪惭,已是汗流浹背希痴。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留春感,地道東北人砌创。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像鲫懒,于是被迫代替她去往敵國(guó)和親嫩实。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • “世界這么大,我想去看看”颂翼,這一封曾轟動(dòng)過(guò)網(wǎng)絡(luò)的辭職信晃洒,是2015年河南實(shí)驗(yàn)中學(xué)的顧少?gòu)?qiáng)老師告別了她生活了35...
    暗香疏影手筆閱讀 541評(píng)論 0 4
  • 十六歲生日那天球及,住在“神之圍樓”氧骤,掌管海棠花的女孩椿,化作一條紅色海豚吃引,來(lái)到人間巡禮筹陵。也因此遇見(jiàn)了讓彼此一見(jiàn)鐘情的...
    月光映小禾閱讀 566評(píng)論 0 0
  • 老公,我真的很愛(ài)你镊尺,我相信你也很愛(ài)我朦佩,所以能不能多包容我媽媽一點(diǎn)了,有的事情她的做法你可能不贊同庐氮,但是你要相信她也...
    丹玲_2193閱讀 127評(píng)論 0 0
  • 1.今天晚上的晚餐好像是東南亞風(fēng)味的土豆咖喱飯语稠,里面還有素羊肉,雖然有點(diǎn)辣旭愧,但是幾乎都被大家搶光;另外還配上猴頭菇...
    實(shí)無(wú)所得閱讀 226評(píng)論 0 0
  • 最初的記憶 我看見(jiàn)爺爺和奶奶坐在高臺(tái)上 爺爺頭發(fā)花白宙暇,臉龐泛著紅光输枯,說(shuō)起話來(lái)中氣十足,一點(diǎn)兒都不像生病的樣子占贫。 “...
    Rukiaaa閱讀 196評(píng)論 0 0