Win32程序重新编译成64位程序后调用DLL问题

PC_9527 2014-03-28 08:09:01
一个Win32应用程序,在VS2008里重新编译成64位程序后,不能调用64位的MFC dll(Getlasterror返回193)。32位的时候可以调用32位的MFC dll,开始以为是生成64位dll后拷贝到64位系统中运行时,缺乏依赖库,但是后来发现,用一个64位的MFC对话框程序可以调用这个MFCdll
...全文
464 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
PC_9527 2014-04-06
  • 打赏
  • 举报
回复
引用 3 楼 oyljerry 的回复:
exe,dll是否都是正确的64位。然后Win32程序是否没有MFC对应的类库dll等
原来是manifest文件问题 真是害人不浅啊 这样的程序运行后在64位任务管理器里看不出来,所以忽略了
danscort2000 2014-04-02
  • 打赏
  • 举报
回复
你在编译连接选择里 使用静态连接 MFC库,而不是静态连接 windows库 问题就能解决了
oyljerry 2014-04-01
  • 打赏
  • 举报
回复
exe,dll是否都是正确的64位。然后Win32程序是否没有MFC对应的类库dll等
Yofoo 2014-04-01
  • 打赏
  • 举报
回复
不能调用64位的MFC dll(Getlasterror返回193) 193: 不是有效的 Win32 应用程序。 是LoadLibrary 失败吗, 用工具检查下你的exe,dll是否是正确64位程序 另外静态链接也可能需要一些运行库的
赵4老师 2014-04-01
  • 打赏
  • 举报
回复
用depends.exe查看exe依赖的dll
赵4老师 2014-04-01
  • 打赏
  • 举报
回复
在64位Windows下: 64位exe和dll在目录c:\windows\system32目录下; 32位exe和dll在目录c:\windows\syswow64目录下;
u012997273 2014-04-01
  • 打赏
  • 举报
回复
引用 2 楼 zzz3265 的回复:
不能调用64位的MFC dll(Getlasterror返回193) 193: 不是有效的 Win32 应用程序。 是LoadLibrary 失败吗, 用工具检查下你的exe,dll是否是正确64位程序 另外静态链接也可能需要一些运行库的
+
PC_9527 2014-03-29
  • 打赏
  • 举报
回复
补充一点,dll都是采用的静态链接的。所以应该不是依赖库问题

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧