簡體   English   中英

將 Qt 導入現有的 Xcode 項目

[英]Import Qt into an existing Xcode project

我在 MacOS 10.13.3 上,使用 Xcode 9 作為我的 IDE,並嘗試在我的 Xcode 項目中包含 Qt 5.10。 我已經使用 Homebrew 安裝了 Qt(帶有文檔和示例),並在 QtCreator 中運行了其中的許多。 到目前為止,一切都運行良好。

我的 Xcode 項目是一個廣泛而復雜的項目,它的開發已經活躍了幾年,所以切換到 QtCreator 或改變我的項目結構不是一個選擇。 我真的需要將 Qt 添加到我現有的 Xcode 項目中,鑒於 Qt 是一個軟件開發框架,恕我直言,這應該是很自然的事情。 但是我還沒有能夠做到這一點。 好的一面是,在這個過程中,我對 Qt 及其生態系統有了很多了解。 我現在知道如何使用 qmake,如何在 QtCreator 中設置並成功編譯項目以及如何使用 qmake 從 QtCreator 創建一個 Xcode 項目。 正如我所說,我一直在運行許多 Qt 示例,並閱讀了幾乎所有我能找到的關於這個主題的文檔、博客和 SO 帖子。 令我驚訝的是,我在 .net 上的任何地方都沒有找到直接解決這個問題的方法。

到目前為止,我已經在我的 Xcode 環境中包含 QtCore.framework、QtWidgets.framework 和 QtGui.framework,使用正確的搜索路徑配置 Xcode(Qt 找到它的文件和框架)並在代碼中包含正確的 Qt 標頭。 然而,在構建我的目標時,我得到了一系列無意義的編譯錯誤。

基本上 - 如果我的理解是正確的 - 我不能只導入我需要的 Qt 組件和框架,然后在 Xcode 中設置正確的路徑,就像我對任何其他框架所做的那樣。 Qt“具有”使用 MOC 和 UIC 的預處理步驟,這使其有別於其他工具。 因此,我檢查了 qmake 的 output,構建系統生成了兩個文件——qt_makeqmake.mak 和 qt_preprocess.mak,我認為它們負責代碼生成步驟。 基本上這是我不知道如何翻譯到我的 Xcode 環境中。

如果我的方法不正確,請隨時告訴我。 我願意接受任何意見或建議。 我真的很想將 Qt 集成到我的項目中,因為 Qt 是如此強大和完整的框架。 我希望有人能夠提供幫助。 謝謝。

1 /除了已經說過的正確設置Qt庫和頭文件的路徑之外,還需要在自己的Qt類(包括Q_OBJECT宏)上調用moc(元對象編譯器)。 (基本上,您使用信號/插槽系統制作的每個類)。

MOC http://doc.qt.io/qt-5/moc.html

必須在編譯項目之前完成此步驟,並且必須編譯並鏈接結果(由cpp生成的moc文件)。

現在,我不是XCode和MacOS開發方面的專家,但是可以肯定的是,您可以在構建過程中添加自定義步驟來執行此操作

2 /對於UIC文件:大致按照此處的說明(Preetam的答案,而不是經過驗證的答案)來獲得.cpp和.h文件,它們也必須包含在項目中。

希望這個答案能對您有所幫助,並指向正確的方向。

這是一個帖子,更詳細地解釋了我解釋的內容: https : //fmilicchio.bitbucket.io/2013/01/xcode-and-qt4-and-qt5/?

您能否分享一下您如何設置 Qt 庫和 header 文件的正確路徑。 在我當前的文件 Xcode 中,我一直收到“找不到 QtWidgets/QApplication”文件的提示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM