9

出力がライブラリ(.lib)であるプロジェクトがあります。プロジェクトはサードパーティのライブラリ(これも.lib)に依存しています。ライブラリ上に構築されたプロジェクトがこのサードパーティの依存関係について心配する必要がないようにするために、ライブラリアンを使用してライブラリアンを自分のライブラリに含めました([プロジェクトのプロパティ]>[ライブラリアン]>[一般]>[追加の依存関係])。

ただし、ライブラリにリンクする別の実行可能プロジェクトをビルドすると、次の行に沿って一連の警告が表示されます。

MyProject.lib(someThirdPartyObjectFile.obj):警告LNK4099:PDB'vc110.pdb'が'MyProject.lib(someThirdPartyObjectFile.obj)'または'\vc110.pdb'で見つかりませんでした。デバッグ情報がないかのようにオブジェクトをリンクする

これは、(私が思うに)自分のライブラリに属する​​すべてのコードをデバッグできるが、サードパーティのライブラリにはデバッグできないことを意味します。

Visual StudioにサードパーティライブラリのPDBのコンテンツも含めるように指示するにはどうすればよいですか?

4

2 に答える 2

8

静的ライブラリはおそらく移動されているため、コンパイラはそこからシンボルを見つけることができません。いくつかのオプションがあります。

  • デバッグ形式を/Z7に変更します。これにより、デバッグ情報がコードに埋め込まれます(一方/Zi/ZI別のファイルに配置されます)。
  • pdbファイルの出力構成を変更します(VS2005の場合はSettings > C++ > Output Files > Program Database File Name、おそらくVS2010でも同様でした)。

詳細については、こちらこちらをご覧ください。

于 2013-01-11T10:26:36.360 に答える
0

プロパティページに移動(Alt + F7)リンカー、すべてのオプション、デバッグ情報セットを位置なしに生成

于 2014-09-29T04:03:40.350 に答える