Debugging 为什么可以';t我在C++;项目 我有一个使用DLL的小C++程序。程序和DLL位于同一个解决方案中,并且都是使用Visual Studio 2008编写的。我无法进入库的源代码。我在两个项目中都设置了用于调试的链接器

Debugging 为什么可以';t我在C++;项目 我有一个使用DLL的小C++程序。程序和DLL位于同一个解决方案中,并且都是使用Visual Studio 2008编写的。我无法进入库的源代码。我在两个项目中都设置了用于调试的链接器,debugging,visual-studio-2008,visual-studio-debugging,Debugging,Visual Studio 2008,Visual Studio Debugging,库编译器命令行是: /I "../CapsData" /I "../CapsLib" /I "../Include" /D "WIN32" /D "_WINDOWS" /D "_DEBUG" /D "GREAT_LAKES_EBNER" /D "SKIP_SITE_H" /D "DEPLOYMENT_PLANLIB"

库编译器命令行是:

/I "../CapsData" /I "../CapsLib" /I "../Include" /D "WIN32" /D "_WINDOWS" /D "_DEBUG" /D "GREAT_LAKES_EBNER" 
/D "SKIP_SITE_H" /D "DEPLOYMENT_PLANLIB" /D "DEBUG" /D "_WINDLL" /D "_AFXDLL" /D "_UNICODE" /D "UNICODE" 
/FD /EHsc /MDd /Fo"Debug GLW Ebner\\" /Fd"Debug GLW Ebner\vc90.pdb" /nologo /c /TP /errorReport:prompt
/OUT:"../Debug GLW Ebner\DeploymentPlanLib.dll" /NOLOGO /LIBPATH:"../Debug GLW Ebner/Lib" /DLL /MANIFEST 
/MANIFESTFILE:"Debug GLW Ebner\DeploymentPlanLib.dll.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' 
uiAccess='false'" /DEBUG /PDB:"q:\CAPS\trunk\Debug GLW Ebner\DeploymentPlanLib.pdb" /DYNAMICBASE /NXCOMPAT 
/IMPLIB:"../Debug GLW Ebner/Lib/DeploymentPlanLib.lib" /ERRORREPORT:PROMPT CapsLib.lib CapsData.lib
/Od /I "../CapsLib" /I "../Include" /I "../DeploymentPlanLib" /I "../CapsData" /D "WIN32" /D "_DEBUG" 
/D "_CONSOLE" /D "GREAT_LAKES_EBNER" /D "SKIP_SITE_H" /D "DEBUG" /D "_AFXDLL" /D "_UNICODE" /D "UNICODE" 
/Gm /EHsc /RTC1 /MDd /Yu"stdafx.h" /Fp"Debug GLW Ebner\ConnectionStringTest.pch" /Fo"Debug GLW Ebner\\" 
/Fd"Debug GLW Ebner\vc90.pdb" /W3 /nologo /c /ZI /TP /errorReport:prompt
/OUT:"../Debug GLW Ebner\ConnectionStringTest.exe" /INCREMENTAL /NOLOGO /LIBPATH:"../Debug GLW Ebner/Lib" 
/MANIFEST /MANIFESTFILE:"Debug GLW Ebner\ConnectionStringTest.exe.intermediate.manifest" 
/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG 
/PDB:"q:\CAPS\trunk\Debug GLW Ebner\ConnectionStringTest.pdb" /SUBSYSTEM:CONSOLE /DYNAMICBASE /NXCOMPAT 
/MACHINE:X86 /ERRORREPORT:PROMPT CapsLib.lib DeploymentPlanLib.lib
库链接器命令行是:

/I "../CapsData" /I "../CapsLib" /I "../Include" /D "WIN32" /D "_WINDOWS" /D "_DEBUG" /D "GREAT_LAKES_EBNER" 
/D "SKIP_SITE_H" /D "DEPLOYMENT_PLANLIB" /D "DEBUG" /D "_WINDLL" /D "_AFXDLL" /D "_UNICODE" /D "UNICODE" 
/FD /EHsc /MDd /Fo"Debug GLW Ebner\\" /Fd"Debug GLW Ebner\vc90.pdb" /nologo /c /TP /errorReport:prompt
/OUT:"../Debug GLW Ebner\DeploymentPlanLib.dll" /NOLOGO /LIBPATH:"../Debug GLW Ebner/Lib" /DLL /MANIFEST 
/MANIFESTFILE:"Debug GLW Ebner\DeploymentPlanLib.dll.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' 
uiAccess='false'" /DEBUG /PDB:"q:\CAPS\trunk\Debug GLW Ebner\DeploymentPlanLib.pdb" /DYNAMICBASE /NXCOMPAT 
/IMPLIB:"../Debug GLW Ebner/Lib/DeploymentPlanLib.lib" /ERRORREPORT:PROMPT CapsLib.lib CapsData.lib
/Od /I "../CapsLib" /I "../Include" /I "../DeploymentPlanLib" /I "../CapsData" /D "WIN32" /D "_DEBUG" 
/D "_CONSOLE" /D "GREAT_LAKES_EBNER" /D "SKIP_SITE_H" /D "DEBUG" /D "_AFXDLL" /D "_UNICODE" /D "UNICODE" 
/Gm /EHsc /RTC1 /MDd /Yu"stdafx.h" /Fp"Debug GLW Ebner\ConnectionStringTest.pch" /Fo"Debug GLW Ebner\\" 
/Fd"Debug GLW Ebner\vc90.pdb" /W3 /nologo /c /ZI /TP /errorReport:prompt
/OUT:"../Debug GLW Ebner\ConnectionStringTest.exe" /INCREMENTAL /NOLOGO /LIBPATH:"../Debug GLW Ebner/Lib" 
/MANIFEST /MANIFESTFILE:"Debug GLW Ebner\ConnectionStringTest.exe.intermediate.manifest" 
/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG 
/PDB:"q:\CAPS\trunk\Debug GLW Ebner\ConnectionStringTest.pdb" /SUBSYSTEM:CONSOLE /DYNAMICBASE /NXCOMPAT 
/MACHINE:X86 /ERRORREPORT:PROMPT CapsLib.lib DeploymentPlanLib.lib
主程序编译器命令行是:

/I "../CapsData" /I "../CapsLib" /I "../Include" /D "WIN32" /D "_WINDOWS" /D "_DEBUG" /D "GREAT_LAKES_EBNER" 
/D "SKIP_SITE_H" /D "DEPLOYMENT_PLANLIB" /D "DEBUG" /D "_WINDLL" /D "_AFXDLL" /D "_UNICODE" /D "UNICODE" 
/FD /EHsc /MDd /Fo"Debug GLW Ebner\\" /Fd"Debug GLW Ebner\vc90.pdb" /nologo /c /TP /errorReport:prompt
/OUT:"../Debug GLW Ebner\DeploymentPlanLib.dll" /NOLOGO /LIBPATH:"../Debug GLW Ebner/Lib" /DLL /MANIFEST 
/MANIFESTFILE:"Debug GLW Ebner\DeploymentPlanLib.dll.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' 
uiAccess='false'" /DEBUG /PDB:"q:\CAPS\trunk\Debug GLW Ebner\DeploymentPlanLib.pdb" /DYNAMICBASE /NXCOMPAT 
/IMPLIB:"../Debug GLW Ebner/Lib/DeploymentPlanLib.lib" /ERRORREPORT:PROMPT CapsLib.lib CapsData.lib
/Od /I "../CapsLib" /I "../Include" /I "../DeploymentPlanLib" /I "../CapsData" /D "WIN32" /D "_DEBUG" 
/D "_CONSOLE" /D "GREAT_LAKES_EBNER" /D "SKIP_SITE_H" /D "DEBUG" /D "_AFXDLL" /D "_UNICODE" /D "UNICODE" 
/Gm /EHsc /RTC1 /MDd /Yu"stdafx.h" /Fp"Debug GLW Ebner\ConnectionStringTest.pch" /Fo"Debug GLW Ebner\\" 
/Fd"Debug GLW Ebner\vc90.pdb" /W3 /nologo /c /ZI /TP /errorReport:prompt
/OUT:"../Debug GLW Ebner\ConnectionStringTest.exe" /INCREMENTAL /NOLOGO /LIBPATH:"../Debug GLW Ebner/Lib" 
/MANIFEST /MANIFESTFILE:"Debug GLW Ebner\ConnectionStringTest.exe.intermediate.manifest" 
/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG 
/PDB:"q:\CAPS\trunk\Debug GLW Ebner\ConnectionStringTest.pdb" /SUBSYSTEM:CONSOLE /DYNAMICBASE /NXCOMPAT 
/MACHINE:X86 /ERRORREPORT:PROMPT CapsLib.lib DeploymentPlanLib.lib
主程序链接器命令行是:

/I "../CapsData" /I "../CapsLib" /I "../Include" /D "WIN32" /D "_WINDOWS" /D "_DEBUG" /D "GREAT_LAKES_EBNER" 
/D "SKIP_SITE_H" /D "DEPLOYMENT_PLANLIB" /D "DEBUG" /D "_WINDLL" /D "_AFXDLL" /D "_UNICODE" /D "UNICODE" 
/FD /EHsc /MDd /Fo"Debug GLW Ebner\\" /Fd"Debug GLW Ebner\vc90.pdb" /nologo /c /TP /errorReport:prompt
/OUT:"../Debug GLW Ebner\DeploymentPlanLib.dll" /NOLOGO /LIBPATH:"../Debug GLW Ebner/Lib" /DLL /MANIFEST 
/MANIFESTFILE:"Debug GLW Ebner\DeploymentPlanLib.dll.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' 
uiAccess='false'" /DEBUG /PDB:"q:\CAPS\trunk\Debug GLW Ebner\DeploymentPlanLib.pdb" /DYNAMICBASE /NXCOMPAT 
/IMPLIB:"../Debug GLW Ebner/Lib/DeploymentPlanLib.lib" /ERRORREPORT:PROMPT CapsLib.lib CapsData.lib
/Od /I "../CapsLib" /I "../Include" /I "../DeploymentPlanLib" /I "../CapsData" /D "WIN32" /D "_DEBUG" 
/D "_CONSOLE" /D "GREAT_LAKES_EBNER" /D "SKIP_SITE_H" /D "DEBUG" /D "_AFXDLL" /D "_UNICODE" /D "UNICODE" 
/Gm /EHsc /RTC1 /MDd /Yu"stdafx.h" /Fp"Debug GLW Ebner\ConnectionStringTest.pch" /Fo"Debug GLW Ebner\\" 
/Fd"Debug GLW Ebner\vc90.pdb" /W3 /nologo /c /ZI /TP /errorReport:prompt
/OUT:"../Debug GLW Ebner\ConnectionStringTest.exe" /INCREMENTAL /NOLOGO /LIBPATH:"../Debug GLW Ebner/Lib" 
/MANIFEST /MANIFESTFILE:"Debug GLW Ebner\ConnectionStringTest.exe.intermediate.manifest" 
/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG 
/PDB:"q:\CAPS\trunk\Debug GLW Ebner\ConnectionStringTest.pdb" /SUBSYSTEM:CONSOLE /DYNAMICBASE /NXCOMPAT 
/MACHINE:X86 /ERRORREPORT:PROMPT CapsLib.lib DeploymentPlanLib.lib
谢谢你的帮助


另外,一位评论员从这篇文章中去掉了“VisualStudio调试”标签,并添加了普通的“调试”标签。我不同意这种行动。此问题特定于VisualStudio2008环境中的调试。因此,VisualStudio调试标记更合适。我已按建议添加了调试标记。

我将尝试进入的库的项目设置与能够进入的库的设置进行了比较。有几个不同之处。我更改了我的目标库设置以匹配,并且我能够进入它

以下是有效的命令行:

固定库comiler命令行:

/Od /I "../CapsData" /I "../CapsLib" /I "../Include" /D "WIN32" /D "_WINDOWS" /D "_DEBUG" /D "GREAT_LAKES_EBNER" 
/D "SKIP_SITE_H" /D "DEPLOYMENT_PLANLIB" /D "DEBUG" /D "_WINDLL" /D "_AFXDLL" /D "_UNICODE" /D "UNICODE" 
/Gm /EHsc /MDd /Fo"Debug GLW Ebner/" /Fd"Debug GLW Ebner/" /W3 /nologo /c /Zi /TP /errorReport:prompt
/OUT:"../Debug GLW Ebner\DeploymentPlanLib.dll" /INCREMENTAL:NO /NOLOGO /LIBPATH:"../Debug GLW Ebner/Lib" 
/DLL /MANIFEST /MANIFESTFILE:"Debug GLW Ebner\DeploymentPlanLib.dll.intermediate.manifest" 
/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"q:\CAPS\trunk\Debug GLW Ebner\DeploymentPlanLib.pdb" 
/SUBSYSTEM:WINDOWS /DYNAMICBASE:NO /IMPLIB:"../Debug GLW Ebner/Lib/DeploymentPlanLib.lib" 
/MACHINE:X86 /ERRORREPORT:PROMPT CapsLib.lib CapsData.lib
固定库链接器命令行:

/Od /I "../CapsData" /I "../CapsLib" /I "../Include" /D "WIN32" /D "_WINDOWS" /D "_DEBUG" /D "GREAT_LAKES_EBNER" 
/D "SKIP_SITE_H" /D "DEPLOYMENT_PLANLIB" /D "DEBUG" /D "_WINDLL" /D "_AFXDLL" /D "_UNICODE" /D "UNICODE" 
/Gm /EHsc /MDd /Fo"Debug GLW Ebner/" /Fd"Debug GLW Ebner/" /W3 /nologo /c /Zi /TP /errorReport:prompt
/OUT:"../Debug GLW Ebner\DeploymentPlanLib.dll" /INCREMENTAL:NO /NOLOGO /LIBPATH:"../Debug GLW Ebner/Lib" 
/DLL /MANIFEST /MANIFESTFILE:"Debug GLW Ebner\DeploymentPlanLib.dll.intermediate.manifest" 
/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"q:\CAPS\trunk\Debug GLW Ebner\DeploymentPlanLib.pdb" 
/SUBSYSTEM:WINDOWS /DYNAMICBASE:NO /IMPLIB:"../Debug GLW Ebner/Lib/DeploymentPlanLib.lib" 
/MACHINE:X86 /ERRORREPORT:PROMPT CapsLib.lib CapsData.lib