マルチアーキテクチャビルドのプロジェクトでGCCプリコンパイル済みヘッダーを使用していますが、現在のソースのディレクトリとは異なるディレクトリに配置しようとすると、問題が発生します。
ファイルは二重引用符で囲まれており、山かっこに変更すると機能しますが、問題は、同じプリコンパイル済みヘッダー名を使用するプロジェクトが他にもたくさんあるため、すべてを山かっこに変更することは望ましくないことです。同じファイルのVisualStudioビルドに含めるヘッダーがあいまいになる可能性があるためです。
GCCは、現在のディレクトリで、検索パスの前にある二重引用符のインクルードを検索します。-I-
オプション(例)を使用して回避できる-Ipch_dir.i686 -I-
ため、プリコンパイル済みヘッダーディレクトリが現在のディレクトリの前に検索されますが、このオプションは非推奨です。GCCは-iquote
、を使用することを提案していますが、と同じ効果はありません-I-
。
したがって、問題は、すべてのプリコンパイル済みヘッダーに山かっこへのディレクティブを含めたり、非推奨のGCCスイッチを使用したりせずに、どうすれば機能させることができるかということです。