尝试使用64位MFC DLL的C ++ 32位应用程序

时间:2017-04-20 19:56:34

标签: c++ dll mfc 32bit-64bit 32-bit

我正在将大型C ++应用程序从Visual Studio 6迁移到VS2013。我已经构建了exe和DLL。我已经解决了很多问题,我可以启动该计划。程序启动后,它就会停止运行。在使用Dependency Walker之后,我认为问题是我的32位EXE和DLL正在尝试使用64位版本的MFC DLL。这是一个屏幕截图:

enter image description here

我的理解是32位应用程序应该自动使用位于C:\ Windows \ SysWow64目录中的DLL;但这似乎并没有发生在这里。

我已经在项目设置中查找了可能解决此问题的明显内容,但我还没有找到任何内容。我想知道你们中是否有人遇到过这个问题,如果有的话,你们做了什么来解决这个问题?

感谢您的帮助!

此致 麦克

1 个答案:

答案 0 :(得分:1)

我要感谢IInspectable指出Process Monitor的问题。我没有为PM找到特定的替换工具,但我使用了Visual Studio的Debug-> Windows-> Modules对话框工具。我将调试器附加到可执行文件,我看到了这个: enter image description here

这表明我最初的想法(我的DLL指向错误的系统目录)是不正确的。这是一种解脱!

当然,我已经回答了这个问题,但至少我没有浪费时间跟着红鲱鱼。

谢谢大家的帮助!我很感激。

此致 麦克