簡體   English   中英

g ++不輸出任何錯誤

[英]g++ doesn't output any errors

每當我嘗試在終端上使用g ++編譯c ++代碼時,即使我確定在編譯期間應該捕獲一些錯誤(例如語法,引用類型),我似乎都無法使g ++輸出任何錯誤消息。 ..)。

我嘗試了幾種方法,例如此make文件:

all:
    g++ -W -Wall -Werror main.cpp

它所做的就是輸出:

make: *** [all] Error 1

沒什么用,顯然...

像這樣輸入:

g++ -W -Wall -Werror main.cpp 

直接到終端(沒有make文件)根本不輸出任何消息。

但是,這在編譯時成功輸出了所有錯誤:

cc main.cpp

我的問題是:如何使g ++輸出錯誤消息,以便我可以知道在哪里更正我的代碼?

只是猜測-您的終端是否可能不打印stderr 說,例如,它將其移動到日志文件之類的東西?

嘗試跑步

g++ [whatever your arguments are] |& cat

(如果您使用的是tcsh)或

g++ [whatever] 2>&1 | cat

如果您使用bash。

嘗試類似以下的簡單操作:

g++ -c main.cpp

當其中一項任務返回非零狀態時,Make報告錯誤。 如果g ++默默地返回非零-好吧,我想它以某種方式壞了。 檢查$? 在運行g ++之后。 另外,嘗試使用g ++ --version-它會報告任何內容嗎? 當然,您也可以在調試器下運行它。

嘗試添加一行

#warning hello from here

(或者也許是#error而不是#warning )到開頭附近的main.cc (也許是第一行)。

如果

gcc -Wall -v main.cc

不要提供任何輸出(尤其是沒有警告或錯誤),這意味着您的gcc已損壞。 也許鍵入/usr/bin/gcc而不是gcc

順便說一句,蘋果不喜歡GCC(因為他們不喜歡GPLv3 +許可證)。 也許值得您花時間構建[使用..../configure --program-suffix=-local ]並安裝更新的GCC(可能來自編譯器的已發布源 tar球)。 當前版本是4.8.1!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM