zoukankan      html  css  js  c++  java
  • VS2010 MFC中 静态编译设置方法

    问题:VS2010 c++编写的程序在别人的机子运行不了,缺少mfc100u.dll xxx100d.dll等

    解决方法:
    1.将这些dll打包,和应用程序一起发布;
    2.采用MFC静态编译;

      静态编译:就是编译器在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so)中的部分提取出来,
    链接到可执行文件中去,使可执行文件在运行的时候不依赖于动态链接库。

    VS2010中静态编译设置方法


         使用VS2010编译的程序在windows xp中运行时  经常会出现找不到相关的DLL文件,我们可以使用静态编译的方法把这些运
    行依赖文件打包到*.exe中来,以减少对环境的依赖。

    一般可以配置一下两项:

    第1种:

    1.项目 -> 配置属性->常规->MFC的使用 :在静态库中使用MFC。
    2.项目 -> 配置属性->C/C++->代码生成->运行库 :选择 多线程调试(/MTd

        编译时,选择的是debugwin32

        然后执行编译生成方案,在该工程目录下的debug文件中,找到该.exe文件,即可在其他电脑运行。

    2种:

    1.项目 -> 配置属性->常规->MFC的使用 :在静态库中使用MFC

    2.项目 -> 配置属性->C/C++->代码生成->运行库 :选择 多线程调试(/MT)。

       编译时,选择的是releasewin32(这个选择项在工具栏的debug选框中,一般我们使用debug方式)

    debug方式产生的文件会比较大,听说它包含了一些调试用的信息,release方式生成的只是该软件所需要的所有功能而已(这个我也不懂,反正大小差不多2:1)。



  • 相关阅读:
    Fizz Buzz 问题
    旋转字符串
    合并排序数组
    尾部的零
    A + B 问题
    CentOS6.x安装RabbitMQ
    MySql游标
    MySql存储过程
    找出n个自然数(1,2,3,……,n)中取r个数的组合
    正则表达式
  • 原文地址:https://www.cnblogs.com/lxt287994374/p/3412797.html
Copyright © 2011-2022 走看看