2015-05-20 79 views
14

我剛開始使用Clion IDE。也許這是寫在某個地方,但我沒有看到它在谷歌搜索。如果我在CMake腳本中添加message()調用,那麼在Clion中可以看到輸出結果?這些消息調用是我知道如何調試我的CMake腳本的唯一方法。Clion和CMake消息

+0

IDE是否有日誌窗口或什麼? – Joel

+0

是的,但它專注於gcc,ld等的輸出。CMake打印到標準輸出,但日誌窗口無法捕捉它。 – krapht

+0

也許你需要配置它來運行cmake,這樣你才能捕獲stdout,stderr等。 – Joel

回答

18

利用消息(警告......),而不是消息(...) 警告輸出到stderr

+1

不再需要警告(至少在CLion 1.5中)。 –

+1

對不起Brent反駁你,但我使用CLION 2016.2.2並且有同樣的問題,只有Sergey提出的解決方案爲我解決了它。 –

7

另一種可能的解決方法:

  • 禁用「的cmake自動重載」如果啓用
  • 你在cmake的文件改變的東西后,不觸發「刷新修改」
  • 運行/建立你的項目

當clion開始構建時,它意識到cmake文件不是最新的並重新加載它們,但是像其他構建輸出一樣,它顯示在Messages選項卡中。

+3

這應該是答案。至少對於CLion 1.5+,如果Auto-Reload-CMake打開,它將擦除CMake輸出。 –

2

作爲構建期間克利翁2016年2月2日, 生成#CL-162.1967.7,克利翁在其消息工具的窗口中顯示的CMake消息(STATUS)輸出(Alt鍵 + )的(Ctrl鍵 + F9)當項目在CMakeLists.txt更改後首次構建時。但正如其他答案所述,此輸出不顯示在CLion的CMake工具窗口(許多人會更喜歡)。

更新:上面我寫了CLion「正在顯示消息(STATUS)輸出。」我現在發現這是間歇性發生的。 @Michael寫道,如果在修改cmake文件後跳過cmake重新加載,會發生這種情況,但我發現即使在這種情況下,CLion有時也不會在其消息工具窗口中顯示任何CMake輸出。到目前爲止,我還沒有發現使CLion顯示CMake消息(STATUS)輸出的確切情況,當我/如果我這樣做時,會在這裏報告。

大更新:CLion opens 2016.3 EAP: user-defined literals, CMake output, C11 keywords completion and more。具體見:CMake output window:另外我認爲它修復了這個問題:CLion 2016.3 EAP增加了一個包含CMake命令輸出的新選項卡。

當然,這是EAP,來與JetBrains公司警告:

它從傳統的預發佈 軟件區分EAP是非常重要的。請注意,EAP版本的質量有時可能會低於甚至通常的測試版標準,即 。

因此,使用它需要您自擔風險,但是如果您需要CMake調試,您可以判斷這是一個值得采取的風險。