XcodePCH Issues-ソースファイルに含まれていないPCHのアイテム
-
08-10-2019 - |
質問
Xcodeを使用して「C ++ Standard Dynamic」ライブラリプロジェクトを作成し、LLVM 2.0を使用してコンパイルしました。 PCHファイルに行が含まれていることに気付きました #include <iostream>
しかし、ファイル test.cp それも含まれています #include <iostream>
声明。
奇妙なことは、で声明を削除することによって test.cp, 、ビルドはエラーで失敗します Semantic Issue – Use of undeclared identifier 'std'
その声明もPCHに含まれているという事実にもかかわらず。
なぜPCHが機能しないのですか?私が足りない設定はありますか?私は彼らと一緒に何もしたことがない(彼らはいつもうまくいくから)ので、真新しいプロジェクトであっても、何が機能しないのかわかりません。
解決
プリコンパイルされたヘッダーは、コンピレーションの高速化に使用されます。他の効果はありません。特に、必要なヘッダーを含める必要があります。
編集 - Xcodeでは、PCHファイルは実際には、たまたまプリコンパイルされているプレフィックスヘッダーです(デフォルトのプロジェクト構成を使用)。を確認します GCC_PRECOMPILE_PREFIX_HEADER
と GCC_PREFIX_HEADER
ビルド設定。
他のヒント
派生データ(Window-Organizer、Projectsタブ、プロジェクトの選択)を削除して、XCodeにPCHのインデックスを再構築します。また、ユニットテストを使用する場合、UnittestSターゲットには個別のPCHがあります。これには、必要な輸入も含まれていることを確認してください。