[英]gcc flag to force use of predefined macros
我的問題是如下。 我正在嘗試為mips建立一個項目。 當我從它的存儲庫下載它時,構建它沒有問題,但當我構建它時它是一個更大的項目的一部分,我收到一個下面的錯誤:
錯誤:在數字常量之前預期','或'...'
我發現這是一個問題,因為一些變量被稱為mips,而相同的變量被定義為gcc編譯器中的預定義宏。
#define mips 1
我驗證了它:
mipsel-linux-gnu-g ++ -dM -E - </ dev / null
所以,我的問題是,是否有任何機構知道是否有某個編譯器標志或其他什么,強制使用這個宏? 奇怪的是,當我從存儲庫下載相同的代碼時沒有構建問題。
兩個項目都使用相同的工具鏈構建,我已經驗證過。
謝謝你的幫助!
“當給編譯器提供-ansi選項或任何請求嚴格一致性的-std選項時,保留命名空間之外的所有系統特定的預定義宏都會被抑制。保留命名空間內的並行宏仍然是定義的。”
也就是說,使用--ansi
你仍然得到__mips__
而不是mips
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.