MFC 生成release版本程序无法在非VC环境运行

ZJW_XTU 2010-10-21 01:28:14
请教高手帮忙!
补充:已经 改为 使用MFC静态链接库 了~其他机器上运行 不报错~,双击一点反应都没有。
我在百度上看到两种方法:
第一种方法、要把静态库的LIB文件包含到exe的根目录下(前提是你程序加载LIB的路径是根目录);如果在别的地方加载 比如C盘里安装的文件 那你考过去的电脑里C盘同样路径下也要安装此文件。
第二种方法:最好还是通过vc待的depend工具监测程序所需dll文件,然后和exe程序放在一起比较保险。

第一种方法我不知道具体如何操作,我照着第二种方法做了,看到了exe依赖的dll文件有很多,但到什么地方找这些文件呢?
...全文
518 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
无云 2011-07-11
  • 打赏
  • 举报
回复
我也遇到这个问题,谢谢大家!
ZJW_XTU 2010-10-29
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 delphigis 的回复:]
MSCOMM控件是要注册的,debug版也要注册

看debug版运行不?如果debug版能运行,可能是你用了某个第三方库,那个DLL调用的是debug版的
[/Quote]
真的很感谢,问题解决了。我将MSCOMM在非VC环境的电脑上注册的时候程序就能正常运行了,谢谢了!
MSCOMM注册的方法可详见:http://www.gjwtech.com/scomm/manaualregistermscomm.htm
百事烟 2010-10-27
  • 打赏
  • 举报
回复
MSCOMM控件是要注册的,debug版也要注册

看debug版运行不?如果debug版能运行,可能是你用了某个第三方库,那个DLL调用的是debug版的

ZJW_XTU 2010-10-27
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 sendwb 的回复:]
放出代码,我大根猜出的你问题产生的原因,但需要验证
[/Quote]
你邮箱多少 我发给你看看。
sooth2008 2010-10-26
  • 打赏
  • 举报
回复
在你的vs的安装位置搜索 找到vcredist_x86.exe,然后在目标机器上安装vcredist_x86.exe就可以了.
ZJW_XTU 2010-10-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 happyparrot 的回复:]
你的程序有没有用到什么特殊的东西呢?比如控件啊,动态库啊,第三方的东西啊
[/Quote]
没用什么特殊的东西啊 就用了一个串口 能帮我看看吗?
dty00007 2010-10-26
  • 打赏
  • 举报
回复
我知道你的问题,我也与到过同样问题,那是在没有装备VC的电脑上一般没有注册控件,你这里使用了MSCOMM控件,所以就不行了,建议去网上找个MSCOMM控件注册机,把MOSCOMM控件希尔注册表,这样即使没装VC,也能用MSCOMM控件。
sendwb 2010-10-26
  • 打赏
  • 举报
回复
放出代码,我大根猜出的你问题产生的原因,但需要验证
haogeai123 2010-10-23
  • 打赏
  • 举报
回复
我也试过,明明用静态链接然后批生成就行了,但到别的机子上就不行了。不知道怎么回事。
魔都小强 2010-10-23
  • 打赏
  • 举报
回复
项目属性设置的问题了,把DEBUG能运行的项目属性设置复制到RELEASE状态下的,注意库的问题。
ZJW_XTU 2010-10-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tiger9991 的回复:]
说起来,你的状况比Debug版本还不如的样子......再提供多点信息
[/Quote]
我的界面使用到了MSCOMM控件,串口通信编程。其它的都是些普通的控件了。我就是将VC6.0产生的realese版本在非VC环境下的电脑不能成功。
release的过程如下:
1.project->settings->general->Microsoft Foundation Classes:Use MFC in a Static Library.
2.在菜单栏或工具栏的空白处点右键选择Build->Win32 Release.
3.进行批构建。

xengine-qyt 2010-10-22
  • 打赏
  • 举报
回复
多半用了第三方模块,而且那模块 多半是 DEBUG编译的。。。
shiyunqiang 2010-10-22
  • 打赏
  • 举报
回复
VC6.0发布版需要两个地方都设置静态链接库:

1.project->settings->general->Microsoft Foundation Classes:Use MFC in a Static Library.
2.在菜单栏或工具栏的空白处点右键选择Build->Win32 Release.

这两个地方都设置好后,编译一下就可以了。
libinfei8848 2010-10-21
  • 打赏
  • 举报
回复
安装vcredist_x86.exe文件
saiyaman5 2010-10-21
  • 打赏
  • 举报
回复
用depend吧,那些依赖的文件都在你的电脑上,不会找就直接搜索文件名
看不见的裂痕 2010-10-21
  • 打赏
  • 举报
回复
说起来,你的状况比Debug版本还不如的样子......再提供多点信息
ouyh12345 2010-10-21
  • 打赏
  • 举报
回复
做安装包吧,在depend查到的dll列表里,双击一个dll,出弹出一个提示框,显示路径
快乐鹦鹉 2010-10-21
  • 打赏
  • 举报
回复
你的程序有没有用到什么特殊的东西呢?比如控件啊,动态库啊,第三方的东西啊
LuciferStar 2010-10-21
  • 打赏
  • 举报
回复
不知道你的项目是怎么设置的。用了.NET?
再怎么着,也总得有个错误提示吧?

15,980

社区成员

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

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