[英]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.