2

Xcode を使用して「C++ 標準動的」ライブラリ プロジェクトを作成し、LLVM 2.0 を使用してコンパイルしました。PCH ファイルには次の行#include <iostream>が含まれていますが、ファイルTest.cpにもその#include <iostream>ステートメントが含まれています。

奇妙なことに、Test.cpSemantic Issue – Use of undeclared identifier 'std'のステートメントを削除すると、そのステートメントが PCH にも含まれているにもかかわらず、ビルドがエラーで失敗します。

PCH が機能しないのはなぜですか? 不足している設定はありますか?私は以前にそれらを使ったことは一度もありませんでした (それらは常に機能するため)。そのため、まったく新しいプロジェクトであっても、何が原因で機能しないのかわかりません。

4

2 に答える 2

-1

プリコンパイル済みヘッダーは、コンパイルを高速化するために使用されます。特に、必要な場所にヘッダーを含める必要があります。

編集 - Xcode では、pch ファイルは実際にはプリコンパイルされたプレフィックス ヘッダーです (デフォルトのプロジェクト構成で)。GCC_PRECOMPILE_PREFIX_HEADERおよびGCC_PREFIX_HEADERビルド設定を確認します。

于 2010-10-17T07:31:42.310 に答える