Visual Studio 2010:合并库和调试符号

问题描述 投票:0回答:0

我正在使用 visual studio 2010 创建大约十几个小型库,我将它们合并到一个巨大的库中。

即使我不使用 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

我无法调试应用程序

我错过了什么?

visual-studio-2010 linker pdb-files
© www.soinside.com 2019 - 2024. All rights reserved.