在 Visual C 中启动调试模式2005,我必须提供debug版链接库吗?
我对 Visual C++ 2005 的调试模式有一个恼人的问题。我的科学程序使用 FFTW3 库,它是一个 FFT 变换计算库。遗憾的是,FFTW3 库没有官方的 VC++ 预编译版本。更可悲的是,用 VC++ 2005 从源代码编译 FFTW3 非常困难。 FFTW3官网提供了使用MinGW GCC构建的预编译DLL包,处于发布模式。
我可以在调试和调试中将我的程序与 Visual C++ 2005 中的这些 MinGW 版本 DLL 链接起来。释放模式。但是我的程序在开始运行后立即退出,所以我想逐步调试我的程序。如果我在 Visual C++ 中按下“调试”按钮,就会出现问题:
“minifun.exe”:已加载“D:\cygwin\home\minifan\debug\libfftw3f-3.dll”,二进制文件不是使用调试信息构建的。
我的问题是我是否必须向 VC++ 提供调试版本 FFTW3 以便我可以启动调试模式?有什么方法可以避免这种情况吗?
问题是我无法轻松获得调试版本和 VC++ 编译的 FFTW3 库。
抱歉这么长的描述。我感谢你们的任何意见。多谢!
约翰·钱恩
I have an annoying problem with the debug mode of Visual C++ 2005. My scientific program uses FFTW3 library which is a FFT transformation calculation library. Sadly, there is no official VC++ pre-compiled version of FFTW3 library. More sadly, compiling FFTW3 from source code with VC++ 2005 is very hard. The FFTW3 official website provides a pre-compiled DLL package which is built with MinGW GCC and is in release mode.
I can link my program with these MinGW version DLLs in Visual C++ 2005 in debug & release mode. But my program exits immediately after start running, so I want to debug my program step by step. The problem happened if I pressed "Debug" button in Visual C++:
'minifun.exe': Loaded 'D:\cygwin\home\minifan\debug\libfftw3f-3.dll', Binary was not built with debug information.
My question is do I have to provide a debug version FFTW3 to VC++ so that I can start the debug mode? Are there any ways that I can avoid it?
The trouble is I cannot get a debug version and VC++ compiled FFTW3 library easily.
Sorry for this long description. I appreciate any inputs from you guys. Thanks a lot!
John Chain
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
最有可能的是,这不是因为缺少该库的调试版本。这可能是因为您尝试链接的 DLL 缺少某些依赖项。下载 Dependency Walker 并打开其中的 DLL。您将了解缺少哪些 DLL。缺少的依赖项将为红色。
Most probably, it is not because of lack of Debug version of the library. It is probably because of some missing dependancy of the DLL that you are trying to link with. Download Dependency Walker and open the DLL in it. You will get to know what are the DLLs that are missing. The missing dependencies will be Red in color.
“二进制文件不是使用调试信息构建的”消息并不是致命的。这只是意味着您将无法对其进行调试,也无法通过它获得准确的调用堆栈。
The "Binary was not built with debug information" message is not fatal. It just means that you won't be able to debug into it nor get accurate call stacks through it.