2014-02-15 18 views
2

目的包括Makefile文件到QMAKE,繼承屬性

我想開始使用另一種C++項目爲出發點,我把一個子目錄Qt工程。

/Qt Project/C++ sub-project裏面有一個Makefile及其定義和變量以及標誌和源代碼(在不同的子目錄中)。

我想要qt-project包含這個makefile,並能夠編譯子項目的所有對象,並將它們連接在一起(使用它們的標誌和庫)在新項目中。

嘗試

我試圖讓使用時,裏面的.pro, mytarget.commands = make -C ./sub-project -f makefile, 但這只是使用makefile文件,因而無法與使用Qt的新的主源代碼鏈接在一起。

我試圖單獨鏈接單個對象中的所有子項目,但ldar無法識別標誌。

回答

2

替代做法

你試過CMake?只需製作一個包含所有需要的定義的CMakeLists.txt文件,然後包含CMakeLists.txt文件,即將文件放在Qt和C++文件夾中。這樣你就可以擁有一致的配置,而不會混淆Makefilesqmake的東西。

在這裏您會找到一個Qt + CMake tutorial

+0

這意味着我必須重寫makefile? –

+1

你看過我在回答中發佈的鏈接嗎?你必須用CMake的CMakeLists.txt替換你的makefile。 CMake有它自己的元語言來描述構建配置。它處理CMakeLists.txt並創建Makefile。你會自動獲得乾淨的目標等。它提供了一些幫助塊,例如Qt包括網絡庫等。另外一個[教程](http://www.cmake.org/Wiki/CMake/Tutorials/Qt)。這[SO回答](http://stackoverflow.com/questions/21654948/converting-a-visual-studio-makefile-to-a-linux-makefile/21656515#21656515)有CMake調用示例。 – yegorich

+1

謝謝,但如果可能的話,我寧願不要重寫makefile,儘管CMake看起來非常有效,而且我明確地將它考慮在我未來的個人項目上。 –