Visual Studio 2010を使用して、1つの巨大なライブラリにマージした12個の小さなライブラリを作成しています。
pdbファイルを使用していなくても、マージされたライブラリのデバッグ情報を設定する際の問題を回避できません。
'/ Z7'オプション(objファイルのデバッグ情報)を使用してすべてをコンパイルしようとしましたが、リンカーはまだpdbファイルの欠落について不平を言っています!
私は個々のC++ファイルを次のようにコンパイルします。
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\CL.exe /c /I..\Logging
/Z7 /nologo /W4 /WX /MP /Od /Oy-
/D WIN32 /D _DEBUG /D _LIB /D USING_RV /D _CRT_SECURE_NO_WARNINGS /D _UNICODE /D UNICODE
/Gm- /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /GR
/Fo"D:\Work\branches\DSC_LONS00107672\C++\Libs\Runtime\bin\Win32\Debug\\"
/Gd /TP /analyze- /errorReport:queue Alert.cpp ..other...sources... /MP
私は小さなライブラリを作成します:
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\Lib.exe
/OUT:"D:\Work\branches\DSC_LONS00107672\C++\Bin\Win32\Debug\Runtime.lib"
/NOLOGO /MACHINE:X86
D:\Work\branches\DSC_LONS00107672\C++\Libs\Runtime\bin\Win32\Debug\Alert.obj
...other..objects...
そして、巨大なライブラリ:
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\Lib.exe
/OUT:"D:\Work\branches\DSC_LONS00107672\output\C++\lib\Debug\DSC.lib"
bridging.lib ...other...small...libraries
/LIBPATH:D:\Work\branches\DSC_LONS00107672\C++\ThirdParty\zlib\lib\Win32\Debug\
/NOLOGO /MACHINE:X86
D:\Work\branches\DSC_LONS00107672\C++\DSC\bin\Win32\Debug\DSC.obj
次に、結果のライブラリを、他のプログラムをリンクするためにアクセスできるライブラリフォルダーにコピーします。
しかし、プログラムをこのライブラリにリンクすると、次のような多くの警告が表示されます。
DSC.lib(ActionType.obj) : warning LNK4099: PDB 'vc100.pdb' was not found with
'DSC.lib(ActionType.obj)' or at
'D:\src\VS2010\DSC\TestApps\LQ2Tester\bin\x64\Debug\vc100.pdb';
linking object as if no debug info
そして、私はアプリケーションをデバッグできません
私は何を取りこぼしたか?