QT在Mac OS上編譯運行初體驗


QT是一個跨平台的框架,支持PC端(Windows、Linux和Mac OS)以及移動端(Android和IOS),之前的開發大都在Windows或者Ubuntu上,考慮到項目多平台支持性,本文對Mac OS以及IOS平台作一個入門體驗,Mac機太貴,公司不給買實體機,IOS自己也沒有,虛擬機走起!

在VMWare15中安裝Mac OS10.13,具體安裝請自行參考網友分享內容,開機后提示“電腦因出現問題而重新啟動。請按一下按鍵,或等幾秒鍾以繼續啟動”:

這個需要安裝Unlocker,首先關閉虛擬機,下載Unlocker+v3.0.0后解壓,管理員身份運行win-install.cmd后就可以成功進入系統了~

請下載Qt的mac版本老安裝,安裝過程請自行百度,我這里安裝的是Qt5.12.0版本,安裝完成后運行Qt Creator.app啟動Qt Creator,發現構建組件中只有clang一項,可以通過clang編譯器編譯構建Mac平台的Qt程序。

但是IOS平台的構建器沒有,這需要再次安裝。

這需要借助Mac平台的XCode來安裝,首先關閉Qt Creator, 在launchpad中找到終端並打開,接着敲入:

sudo xcode-select -switch /Users/Michael/Downloads/Xcode.app/Contents/Developer

其中Michael是用戶名,/Users/Michael/Downloads/Xcode.app是Xcode的地址,直接拖進來即可,回車后輸入管理員密碼執行命令成功。最后再次打開Qt Creator可以看到多了IOS以及IOS Simulator構建組件。

我的程序在IOS Simulator下執行構建,提示錯誤:

 error: static_assert failed "Required feature printdialog for file /Users/Michael/dev/qt-package/5.12.0/ios/include/QtPrintSupport/qprintdialog.h not available."
QT_REQUIRE_CONFIG(printdialog);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

解決辦法:將*.pro中的printsupport注釋掉,將程序中涉及QPrinter、QPrintDialog的代碼全部注釋掉,這個是PC平台的,移動端不需要的。

構建成功后,運行會啟動IOS Simulator,但是我的程序會運行黑屏,仔細看以下代碼,是代碼中又Opengl檢測的代碼,將其注釋掉即可:

最后,終於在IOS上運行起來了~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM