要在 Visual C++ 2005 中启动调试模式,是不是必须提供调试版本链接库?
Posted
技术标签:
【中文标题】要在 Visual C++ 2005 中启动调试模式,是不是必须提供调试版本链接库?【英文标题】:To start debug mode in Visual C++ 2005, do I have to provide debug version linked library?要在 Visual C++ 2005 中启动调试模式,是否必须提供调试版本链接库? 【发布时间】:2009-08-21 03:48:20 【问题描述】:我对 Visual C++ 2005 的调试模式有一个恼人的问题。我的科学程序使用 FFTW3 库,它是一个 FFT 变换计算库。遗憾的是,FFTW3 库没有官方的 VC++ 预编译版本。更可悲的是,使用 VC++ 2005 从源代码编译 FFTW3 非常困难。 FFTW3官网提供了一个使用MinGW GCC构建的预编译DLL包,处于发布模式。
我可以在调试和发布模式下将我的程序与 Visual C++ 2005 中的这些 MinGW 版本 DLL 链接起来。但是我的程序在开始运行后立即退出,所以我想一步一步调试我的程序。如果我在 Visual C++ 中按下“调试”按钮,就会出现问题:
'minifun.exe': Loaded 'D:\cygwin\home\minifan\debug\libfftw3f-3.dll', Binary was not built with debug information.
我的问题是我是否必须向 VC++ 提供调试版本 FFTW3 才能启动调试模式?有什么方法可以避免吗?
问题是我无法轻松获得调试版本和 VC++ 编译的 FFTW3 库。
很抱歉这么长的描述。我感谢你们的任何意见。非常感谢!
约翰链
【问题讨论】:
【参考方案1】:很可能不是因为缺少 Debug 版本的库。这可能是因为您尝试链接的 DLL 缺少一些依赖项。下载Dependency Walker并打开其中的DLL。您将了解缺少的 DLL。缺少的依赖项将是红色的。
【讨论】:
您的输入给了我更多提示。我将尝试 Dependency Walker。谢谢。【参考方案2】:“二进制文件未使用调试信息构建”消息不是致命的。这只是意味着您将无法对其进行调试,也无法通过它获得准确的调用堆栈。
【讨论】:
看到错误信息后,立即退出调试模式。所以我无法调试任何代码行。你的意思是我可以调试我的代码吗?以上是关于要在 Visual C++ 2005 中启动调试模式,是不是必须提供调试版本链接库?的主要内容,如果未能解决你的问题,请参考以下文章
visual stdio2005 如何像vc++6.0一样编译和调试啊
无法从 Visual Studio 启动 gdb 以在 Windows 上的 Linux 子系统中远程调试 Linux C++ 项目
在 Visual C++ 2005 中开发的 Visual C++ 项目 - 在 Visual C++ 2010 中,打开菜单时调试断言失败,但发布模式有效,如何解决?