• 用VS2010编写的C++程序,在其他电脑上无法运行的问题


    问题:
    在自己电脑上用VS2010编写的VC++程序(使用MFC库),不能在其他电脑上运行。双击提示:

    “无法启动此程序,因为计算机中丢失mfc100u.dll 尝试重新安装该程序以解决此问题。

    解决方案:

    方案1.采用静态编译

        使用VS2010编译的程序在windows xp中运行时,经常会出现找不到相关的DLL文件,我们可以使用静态编译的方法把这些运行依赖文件打包到*.exe中来,以减少对环境的依赖。
    一般可以配置以下两项:
    (1)项目 -> **属性 -> 配置属性 -> 常规 -> MFC的使用 :在静态库中使用MFC。
    (2)项目 -> **属性 -> 配置属性 -> C/C++ -> 代码生成 -> 运行库 :多线程(/MT)。


    方案2.将mfc100.dll和应用程序一起打包发布,并在该包中加入安装控件的说明文件

    附:mfc100.dll控件常规安装方法(说明文件):
    ①将下载来的mfc100.dll拷贝到指定目录(一般是system系统目录或放到软件同级目录里面),或者重新添加文件引用。 若您的系统是Windows XP/WIN7/Vista系统(32位),请将mfc100.dll复制到C:WindowsSystem32目录下;若您的系统是64位,请将文件复制到C:WindowsSysWOW64目录。
    ②点击 开始 -> 运行,输入"regsvr32 mfc100.dll",回车即可解决。
    或者将下面的代码保存为“注册.bat”(方法:新建.txt文档,打开文档输入代码后保存关闭,更改文件名及扩展名为“注册.bat”),放到dll文件同级目录(只要在同一个文件夹里面有这两个文件即可),双击注册.bat,就会自动完成mfc100.dll注册(win98不支持)。
    下面是32系统的注册bat文件(64位的请将下面的system32替换为SysWOW64即可)
    代码如下:
    @echo 开始注册
    copy mfc100.dll %windir%system32
    regsvr32 %windir%system32mfc100.dll /s
    @echo mfc100.dll注册成功
    @pause

    方案3.将程序和vcredist_x86.exe一起打包发布(或提示用户下载并安装vcredist_x86.exe)

    下载并安装vcredist_x86.exe即可。
    vcredist_x86.exe下载地址:
    http://www.microsoft.com/zh-cn/download/details.aspx?id=8328

  • 相关阅读:
    Nginx+IIS+Redis 处理Session共享问题 2
    Nginx+IIS+Redis 处理Session共享问题 1
    [ZooKeeper.net] 1 模仿dubbo实现一个简要的http服务的注册 基于webapi
    使用小技巧使子功能模块不污染主框架
    sqlserver 去除重复的行数据
    setsockopt用法详解
    windows 非窗口定时器
    Redis list 之增删改查
    王垠:如何掌握程序语言(转)
    【练习】整树转换为16进制的字符串的函数
  • 原文地址:https://www.cnblogs.com/fengliu-/p/7459164.html
Copyright © 2020-2023  润新知