4

C++ プロジェクト (マネージとアンマネージ) が混在しています。unmanaged は、boost などの多くのライブラリを使用しています。これらはすべて stdafx.h ファイルに含まれています。管理対象 (stdafx.h) と非管理対象 (stdafxManaged.h) の 2 つの個別のプリコンパイル済みヘッダーを作成しようとしています。マネージド コードから stdafxManaged.h をインクルードすると、次のようなエラーが表示されます。

エラー C2855: コマンド ライン オプション '/clr' がプリコンパイル済みヘッダーと矛盾しています

そのため、stdasfManaged.cpp に対して共通言語ランタイム サポート (/clr) をオンにすると、次のエラーが発生します。

エラー C1852: 'Debug\xxx.pch' は有効なプリコンパイル済みヘッダー ファイルではありません

xxx はプロジェクトの名前で、プロジェクト内のすべての管理されていない .cpp ファイルのエラーとして表示されます。

このエラーを修正する方法を知っている人はいますか、または混合コード用に複数のプリコンパイル済みヘッダーをセットアップする方法を説明するチュートリアルへのリンクはありますか?

4

1 に答える 1

4

これは実際に可能です。/clr が .cpp ファイルに対してアクティブであること、およびプリコンパイル済みヘッダー ファイルとプリコンパイル済みヘッダー出力ファイルの両方の設定が、通常の stdafx.h および $(TargetName).pch とは異なることを確認してください。

于 2013-07-26T15:57:50.243 に答える