2017-09-29 52 views
-1

我想每次在Sublime Text 3中按CTRL + B時​​,都要在cmd中編譯和運行C++程序。此外,我還需要在程序完全執行後保持窗口的活動狀態。我特別喜歡代碼塊使用的構建系統。我可以在Sublime中實施相同的系統嗎?如何編譯並運行帶有崇高文本3的C++程序?

到目前爲止,我有以下生成系統:

{ 
"cmd": ["mingw32-g++", "-o", "$file_base_name", "$file"], 
"path": "C:\\MinGW\\bin\\", 
"variants": [ 

    { 
     "cmd": ["start", "cmd", "/k", "$file_base_name"], 
     "shell": true, 
     "name": "Run" 
    } 
    ] 
} 

這裏唯一的問題是,我必須編譯,然後再運行它。我想要編譯並在單個操作中運行。

編輯: 我已經通過以下構建系統解決了這個問題:

{ 
"cmd": ["g++.exe", "-std=c++11", "-o", "$file_base_name", "$file", "&&", "start", "cmd", "/c", "$file_base_name & echo. & echo. & pause"], 
"shell": true, 
"selector": "source.c++" 
} 
+0

您應該將'-Wall -Wextra -g'傳遞給'g ++'。比會節省你幾小時的時間(通過警告你,避免明顯的錯誤) –

回答

1
  1. 崇高文本是一個文本編輯器,其中您可以在同一引擎蓋下使用不同的語言。

  2. 關於你的C++程序,你必須爲你正在使用的C++版本安裝一些軟件包。我建議觀看一些教程,以逐步瞭解程序並更好地理解。

1

配置編輯器爲CTRL乙運行make(或ninja ...),並使用Makefile,一個build.ninja,或其他一些build automation工具。所以你可以添加適當的規則(到你的Makefile等....)運行其他東西。

(包括GNU makeninja具有良好的文檔和教程,你可以問他們在做題,有一些MCVE

Source code editors是編輯源代碼的工具。配置它們以適當地運行外部程序(編譯器,調試器,你自己的東西,...或makeninja)。

這裏唯一的問題是我必須先編譯然後運行它。我想要編譯並在單個操作中運行。

因此,建立一個足夠好的構建自動化工具。配置您的編輯器運行make,並編輯您的Makefile以使「編譯然後運行」默認目標(並且與ninja及其build.ninja文件同樣)。請記住像GCC(甚至從IDE開始)的編譯器都是命令行程序(並且您的mingw32-g++GCC編譯器)。

也以良好的習慣與所有警告和調試信息進行編譯,所以pass-Wall -Wextra -gGCC這是你mingw32-g++(因此,適當地修改您的Makefilebuild.ninja文件)。

換句話說,IDE--這只是一個流行詞 - 是一個適當配置爲運行其他程序的源代碼編輯器。我的首選是emacs

+0

感謝您的信息。但我對此並不太瞭解。也許你可以爲我構建構建系統:) –

+0

不,你需要閱讀一下。但是,我在SO上發佈了幾個'Makefile'的例子;同時使用'make'和'ninja'很容易,並且都有很好的文檔和教程。你需要花幾個小時的時間閱讀,這將提高你的實踐知識(即使*未來*項目)。因此,開始編寫自己的'Makefile'或'build.ninja',並提出有關它們的問題。同樣,閱讀[GCC]的文檔(http://gcc.gnu.org/)是有用的,而不是浪費時間。 –

+0

完成!我現在有一個完美的構建! –