web-dev-qa-db-ja.com

PDB 'vc100.pdb'が見つかりませんでした

FreeImageソースコードをダウンロードし、X64 MT DLL。

Freeimage.libファイルでリンクを使用する場合を除き、すべてが正常に動作しますが、原因がよくわからない多くの迷惑なリンカー警告が表示されます。

2>freeimage.lib(zutil.obj) : warning LNK4099: PDB 'vc100.pdb' was not found with 'freeimage.lib(zutil.obj)' or at '\bin\Release\vc100.pdb'; linking object as if no debug info

...そしてそれはそのように連続しています...

これは何が原因で、どのようにそれを取り除くのですか? FreeImageをビルドするときのコンパイラオプションだと思います。

FreeImageLibプロジェクトのコマンドラインは次のとおりです。

/ I ".. \" /I"..\ZLib "/I"..\DeprecationManager" /I"..\OpenEXR\Half "/I"..\OpenEXR\Iex" /I"..\OpenEXR\IlmImf "/I"..\OpenEXR\Imath" /I"..\OpenEXR\IlmThread "/ nologo/W3/WX-/Od/D" WIN32 "/ D" _DEBUG "/ D" OPJ_STATIC "/ D" FREEIMAGE_LIB "/ D" _CRT_SECURE_NO_DEPRECATE "/ D" LIBRAW_NODLL "/ D" _VC80_UPGRADE = 0x0710 "/ D" _MBCS "/ GF-/Gm-/EHsc/RTC1/MDd/GS/fp:precise/Zc:wchar_t/Zc:forScope/openmp /Fp".\Debug/FreeImageLib.pch "/Fa".\Debug/" /Fo".\Debug/ "/Fd".\Debug/"/Gd/errorReport:queue

編集:

代わりに動的ライブラリとしてビルドすることで解決しました。それは私が望んでいた解決策ではありませんが...

26
ronag

デバッグシンボルを使用して静的ライブラリをコンパイルすると、ライブラリとともにこのファイルvc100.pdbが取得されます。このファイルのシンボリック情報は、リンク中に他のライブラリのシンボリック情報とマージされ、EXEまたはDLLリンク中の最終PDBが生成されます。それが見つかると期待する場所。

これは単なる警告であり、デバッグビルドでのみ発生します。 FreeImageをリリース構成でコンパイルすると、この警告は消えます。または、リンカーがvc100.pdbファイルを見つけられない理由を見つけます。

あなたに与えられた他の答えは非常識なナンセンスです。

34
brewbuck