上一篇專欄文章介紹了如何在 CLion 中配置 MinGW,但是 MinGW 在 CLion 中有個問題(按照 JetBrains 的回應,應該是 MinGW 的 bug) ,就是運行程序時,輸入會有回顯問題,也就是下圖中的情況:

從圖中可以看到,在我們輸入了一個數之後,屏幕上會再次顯示這個數。不是大問題,但是也逼死強迫症。搜索網路,有人給出了這麼個解決方案:

1. 按 Ctrl + Shift + A,並輸入「registry」;

2. 取消勾選「run.processes.with.pty」;

但是這樣反而會帶來更大的問題,就是代碼中 printf 輸出的內容,在程序結束後才會被顯示出來。

所以,針對此問題,JetBrains 官方給了另外一個解決方案——使用 Cygwin 來代替 MinGW。

接下來就來介紹一下如何在 CLion 中配置 Cygwin 環境。

1. 訪問 Cygwin 官網(Cygwin),並下載安裝文件;

2. 運行安裝文件,一路點擊「下一步」,並在選擇下載站點界面(Choose A Download Site)使用 mirrors.163.com (速度快) ;

3. 在選擇包界面(Select Packages),安裝圖中的所有包,方法是:在「View」中選擇「Full」,然後輸入關鍵字,在搜索結果中找到 Package 名和圖中完全一樣的,在該項的第二列(New)中點擊,變為一個版本號(可能有多個版本號,可以選擇最新的),點擊下一步即可安裝。可以在點擊出版本號後,搜索另一個包,這樣點擊「下一步」時,可以進行批量安裝;

4. 點擊「完成」,結束安裝。

5. 在系統環境變數中添加「C:cygwin64in」;

5. 打開 CLion 的 Settings → Build, Execution, Deployment → Toolchains,點擊「+」按鈕,並選擇 Environment 為「Cygwin」,目錄設為 Cygwin 的安裝文件夾(64位版本的默認為 C:cygwin64),CMake 設為 C:cygwin64incmake.exe,Make、C Compiler、C++ Compiler 這三項留空(必須這麼做),Debugger 應該會自動檢測到。

這裡使用了 Cygwin 版本的 CMake。之所以不用「Bundled」(CLion 自帶的 CMake),是因為中文路徑問題(見上一篇專欄文章)。不使用安裝版本的 CMake,是因為不支持 Cygwin。所以這裡需要先安裝 for Cygwin 的 CMake 包,再顯式指定 cmake.exe 的路徑。

6. 點擊向上箭頭按鈕,將 Cygwin 設為 Default,點擊「Apply」即可。

這樣,就再也沒有回顯問題了。


推薦閱讀:
相关文章