我正在尝试调试一个棘手的问题,但我发现我的发布模式是获取PDB文件而不是我的调试模式。我需要调试模式下的PDB,natch。
发生了什么事?
这是Release模式编译器选项:
/GS /GL /W3 /Gy /Zc:wchar_t /I".." /I"C:\Users\Kevin\dev\IPCommon\Cpp" /Zi /Gm- /O2 /sdl /Fd"x64\Release\vc120.pdb" /fp:precise /D "LINKMETHODS_EXPORTS" /D "_WINDLL" /D "_MBCS" /errorReport:prompt /WX- /Zc:forScope /Gd /Oi /MD /Fa"x64\Release\" /EHsc /nologo /Fo"x64\Release\" /Fp"x64\Release\LinkMethods.pch"
以下是Release链接器选项:
/OUT:"C:\Users\Kevin\dev\EXO\x64\Release\LinkMethods.dll" /MANIFEST /LTCG /NXCOMPAT /PDB:"C:\Users\Kevin\dev\EXO\x64\Release\LinkMethods.pdb" /DYNAMICBASE "LinkData.lib" /IMPLIB:"C:\Users\Kevin\dev\EXO\x64\Release\LinkMethods.lib" /DEBUG /DLL /MACHINE:X64 /OPT:REF /INCREMENTAL:NO /PGD:"C:\Users\Kevin\dev\EXO\x64\Release\LinkMethods.pgd" /SUBSYSTEM:WINDOWS /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"x64\Release\LinkMethods.dll.intermediate.manifest" /OPT:ICF /ERRORREPORT:PROMPT /NOLOGO /VERBOSE /LIBPATH:"C:\Users\Kevin\dev\EXO\x64\Release\" /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\UnitTest\lib" /LIBPATH:"C:\Users\Kevin\dev\EXO\Dependencies\opencv249\bin" /TLBID:1
这是调试模式编译器选项:
/GS /W3 /Zc:wchar_t /I".." /I"C:\Users\Kevin\dev\IPCommon\Cpp" /Zi /Gm /Od /Fd"x64\Debug\vc120.pdb" /fp:precise /D "LINKMETHODS_EXPORTS" /D "_WINDLL" /D "_MBCS" /errorReport:prompt /WX- /Zc:forScope /RTC1 /Gd /MDd /Fa"x64\Debug\" /EHsc /nologo /Fo"x64\Debug\" /Fp"x64\Debug\LinkMethods.pch"
和Debug Linker选项:
/OUT:"C:\Users\Kevin\dev\EXO\x64\Debug\LinkMethods.dll" /MANIFEST /LTCG /NXCOMPAT /PDB:"C:\Users\Kevin\dev\EXO\x64\Debug\LinkMethods.pdb" /DYNAMICBASE "LinkData.lib" /IMPLIB:"C:\Users\Kevin\dev\EXO\x64\Debug\LinkMethods.lib" /DEBUG /DLL /MACHINE:X64 /INCREMENTAL /PGD:"C:\Users\Kevin\dev\EXO\x64\Debug\LinkMethods.pgd" /SUBSYSTEM:WINDOWS /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"x64\Debug\LinkMethods.dll.intermediate.manifest" /ERRORREPORT:PROMPT /NOLOGO /VERBOSE /LIBPATH:"C:\Users\Kevin\dev\EXO\x64\Debug\" /LIBPATH:"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\UnitTest\lib" /LIBPATH:"C:\Users\Kevin\dev\EXO\Dependencies\opencv249\bin" /TLBID:1
答案 0 :(得分:1)
您的Release链接器选项包括/DEBUG
,而Debug链接器选项则不包括。
旁注
您的调试和发布选项之间有一些不同之处,通常没有什么不同。这可能没问题,或者可能是你在一个中做了改变而忘了在另一个中做出改变。无论哪种方式,它们可能与您遇到的问题无关。
/SUBSYSTEM:WINDOWS
,但在Debug中没有指定任何内容。 (默认值基于您声明的主要方法。)