我遇到了其中一個頭文件中的#define在另一個頭文件中打破枚舉聲明的情況。找到打破編譯的#定義
上gcc
使用-E
開關我已經確定我有
#define OFF 0
地方。
問題是,我怎麼知道在哪裏?該項目非常龐大,包含數十個目錄,數百個包含文件。我會最終做一個全局的grep,但問題是,有什麼辦法可以問gcc
編譯器哪裏出現#define?它顯然擁有這些信息!
更新:感謝沒有一個,但兩個解決方案 - SO通過。 只是爲了記錄,罪魁禍首是Sybase客戶端庫的一個包括(ctlib,甚至沒有dblib)。哎喲。
使用grep。只需使用grep。 –
爲了闡述,你可以做下面的事情:「grep -r'#define OFF'。」「 – jayunit100
它的確如此。但只有當你問得很好,並使用魔術字。缺席,這將是grep。 – gnometorule