私はAmayaを構築しようとしています。ビルドがC++プリプロセッサのデバッグ
error: expected unqualified-id before ‘(’ token
で失敗したとき、私は何が起こっていたか確認するためにコンパイルに失敗したファイルに(-Eで-cオプションを置き換える)のみプリプロセッサで++グラムを実行しました。これにより、80,000行のファイルが作成され、「Blue」が(2 < < 8)に置き換えられ、エラーを明確に説明しました。これを修正すると、ファイルは正常にコンパイルされます。私はそれで生きることができると思うが、なぜこれが起きているのかを知りたい。
プリプロセッサが特定の文字列(この場合は「ブルー」)を置き換える方法はありますか?
=================更新===================
まあ、私が見つけました犯人:
#undef blueを追加すると問題が解決しました。したがって、-Mとgrepの組み合わせを使用することはOKですが、時にはC++プリプロセッサの定義が実際のフォレストになることもあります。私は、もっと良い方法があるのかどうか、賢明なGNUツールがあるのかどうか不思議でした。
どのプラットフォームですか? – laalto
i686 GNU/Linux。 – Alex