2
我想開始使用另一種C++項目爲出發點,我把一個子目錄Qt工程。
在/Qt Project/C++ sub-project
裏面有一個Makefile及其定義和變量以及標誌和源代碼(在不同的子目錄中)。
我想要qt-project包含這個makefile,並能夠編譯子項目的所有對象,並將它們連接在一起(使用它們的標誌和庫)在新項目中。
嘗試
我試圖讓使用時,裏面的.pro, mytarget.commands = make -C ./sub-project -f makefile
, 但這只是使用makefile文件,因而無法與使用Qt的新的主源代碼鏈接在一起。
我試圖單獨鏈接單個對象中的所有子項目,但ld
或ar
無法識別標誌。
這意味着我必須重寫makefile? –
你看過我在回答中發佈的鏈接嗎?你必須用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
謝謝,但如果可能的話,我寧願不要重寫makefile,儘管CMake看起來非常有效,而且我明確地將它考慮在我未來的個人項目上。 –