26
foo.cpp(33918) : fatal error C1854: cannot overwrite information formed 
during creation of the precompiled header in object file: 'c:\somepath\foo.obj'

これについてMSDNを参照すると、次の情報が得られます。

同じファイルに/Yc(プリコンパイル済みヘッダーを作成)オプションを指定した後、/ Yu(プリコンパイル済みヘッダーを使用)オプションを指定しました。特定の宣言(__declspec dllexportを含む宣言など)により、これは無効になります。

この場合、dllexportとプリコンパイル済みヘッダーを使用しています。誰かが以前にこれに遭遇し、回避策を知っていますか?この問題に光を当てるための入力は大歓迎です。

ありがとう

4

3 に答える 3

44

ここで答えを見つけることができると思います:http://social.msdn.microsoft.com/forums/en-US/vclanguage/thread/b3aa10fa-141b-4a03-934c-7e463f92b2a5/

基本的に、stdafx.cpp ファイルを「Create Precompiled Headers」に設定し、他のすべての .cpp ファイルを「Use Precompiled Headers」に設定する必要があります。

于 2009-06-03T20:24:16.237 に答える
1

私もこの問題を抱えていました。

プリコンパイラーのヘッダー出力ファイルが正しい場所に設定されていることを確認してください。私のものは実際には正しい場所に出力されましたが、パスに小さなアーティファクトが含まれていたため、読み取りに問題がありました.

于 2010-12-28T14:28:22.403 に答える