2

http://msdn.microsoft.com/en-us/library/yd4f8bd1.aspxによると、プロジェクトには2つの.pdbファイルがあります。

project.pdb後でミニダンプをロードできるようにするために使用しますが、vcx0.pdbは正確には何に使用されますか?足りない場合は問題ありませんので、保管する必要はありません。

さまざまなプロジェクト間でPCHを共有しようとしていますが、問題を引き起こしているのはこのファイルだけです。PCHで作成したvcx0.pdbをすべてのプロジェクトにコピーすると、それらのプロジェクトはこのファイルをベースとして使用し、独自のシンボルを追加します。これらのプロジェクトにこの.pdbファイルを指定しないと、失敗します。

私が気づいたいくつかのこと:

  • 警告LNK4099がvcx0.pdbの欠落を報告することは、重要なことではないようです。
  • / Fdを使用して複数のプロジェクトを同じファイルにポイントし、並列ビルドを無効にしてその機能を実現すると、すべてのプロジェクトが独自のシンボルで増分し続けます
4

2 に答える 2

5

VCx0.PDBはコンパイラーによって生成され、タイプ情報を持っています。リンカに入力されます。

リンカは$(TargetName).PDBを出力します

于 2010-11-24T11:03:24.903 に答える
0

あなたがしていることはサポートされていません。プロジェクトごとのPCHファイルとPDBファイルに戻ります。これが機能しない理由について、節約するよりも多くの時間を費やす可能性があります。

より具体的な反対意見-VisualStudio2008は、マルチコア/マルチCPUハードウェアを使用している場合に、相互に依存しないプロジェクトの構築を並列化するように設計されています。このような依存関係を導入することで、2つのプロジェクトが同時に書き込みのために同じファイルにアクセスしようとしたときに、これが発生しないようにするか(スピードアップを妨げる)、ビルドを完全に中断します。

于 2010-11-24T12:12:15.420 に答える