翻譯|使用教程|編輯:吳園園|2019-08-19 17:27:30.300|閱讀 3769 次
概述:CLion是一款專為開發C及C++所設計的跨平臺IDE。本篇教程將為您介紹如何管理Makefile項目。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
CLion是一款專為開發C及C++所設計的跨平臺IDE。它是以IntelliJ為基礎設計的,包含了許多智能功能來提高開發人員的生產力。這種強大的IDE幫助開發人員在Linux、OS X和Windows上來開發C/C++,同時它還使用智能編輯器來提高代碼質量、自動代碼重構并且深度整合CMake編譯系統,從而提高開發人員的工作效率。
雖然目前在Clion中不支持Makefile作為項目格式,但您可以使用以下解決方法在File Watchers和編譯數據庫的幫助下管理Makefile項目。
下面的示例顯示了如何構建監視Makefile中的更改的元構建系統,然后相應地重新生成和重新加載編譯數據庫。這樣,它允許您從CLion內部完全管理Makefile項目。此外,您可以借助自定義生成目標和自定義運行/調試配置來構建和運行/調試此類項目。
假設我們有一個簡單的Makefile項目,包含三個模塊,general,io_lib和math_lib,每個模塊都存儲在一個包含Makefile的單獨目錄中,在根目錄中,是構建所有目標的主Makefile:
TARGETS = Math Io Generalall: $(TARGETS)Math: @$(MAKE) -C math_lib -f MakefileIo: @$(MAKE) -C io_lib -f MakefileGeneral: @$(MAKE) -C general -f Makefileclean: @$(MAKE) -C io_lib -f Makefile clean @$(MAKE) -C math_lib -f Makefile clean @$(MAKE) -C general -f Makefile clean
現在讓我們采取以下步驟:
首先,我們需要為我們的測試項目創建一個JSON編譯數據庫。我們將用于此的工具是編譯生成器。安裝該工具后,我們可以compiledb make從項目根目錄運行并獲取compile_commands.json文件:
這是一個可選步驟,但對我們的任務非常有幫助:安裝了Makefile Support插件后 ,GNU Makefile文件類型在CLion中變得可識別,我們獲得了Makefile的語法高亮和編輯功能。
下一步是將我們在步驟1中創建的編譯數據庫打開為CLion中的項目。導入成功完成后,我們可以開始使用項目文件。
要在compile_command.json中的每次更改時自動重新加載項目,我們需要在Settings / Preferences |中設置Use auto-import復選框。 構建,執行,部署| 編譯數據庫:
現在我們可以創建一個文件監視器來跟蹤Makefile中的更改。讓我們導航到設置/首選項| 工具| 文件監視器,創建一個新的文件監視器并將其分配給位于項目根目錄和子目錄中的GNU Makefile類型的所有文件(注意$ProjectFileDir$宏):
現在,讓我們改變Makefiles中的內容。我們可以在IDE外部執行此操作(因為設置了Trigger,外部更改上的觀察器復選框),或者直接來自CLion編輯器。
例如,我們可以向math_lib模塊添加一個新的源文件,并將其放入相應Makefile中的源列表中:
在該更改之后,Makefile_watcher被觸發運行 compiledb -n make。此命令在不執行實際構建的情況下重新生成編譯數據庫,CLion會自動重新加載它,以便項目與修改后的Makefile同步。
現在compile_commands.json中有四個條目:
同樣,如果我們決定不將io_funcs庫包含 到構建中,我們可以Io從主Makefile中刪除目標:
為響應此更改,Makefile_watcher再次觸發,并相應地重新加載編譯數據庫:
我們可能想要做的最后一件事是使Makefile_watcher全局化。啟用此設置后,觀察程序將在所有項目中可用,因此我們可以輕松地將其重用于我們在CLion中管理的其他Makefile應用程序:
這樣,文件觀察器和編譯數據庫的組合創建了一種機制,可以使用基于Make的項目,而無需讓CLion編輯Makefile或手動重新創建編譯數據庫。此外,您可以將此方法應用于任何具有用于生成編譯數據庫的補充工具的構建系統。
請注意,目前,在此方案中,CLion會為觸發文件監視器的Makefile中的每個更改重新加載整個編譯數據庫。因此,將此工作流應用于大型代碼庫時可能會遇到性能問題。
以上就是管理Makefile項目教程的全部內容,您學會了嗎?歡迎評論分享您的疑問和看法~
想要購買Clion正版授權的朋友可以。
更多精彩內容,敬請關注下方的微信公眾號,及時獲取產品最新資訊▼▼▼
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: