C++ .exe

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuzhiping1/article/details/53573921

问题再现:
     在Debug文件夹下,发现了exe文件,拿到其他电脑上运行,发现总是提示缺少 QtCored4.dll等类似文件,,

问题原因:
    在他人电脑上,可能并没有安装编程软件,电脑中就会缺少相应的运行库,而大多数编程软件采用的都是动态链接,这样就会因为缺少这些文件, 导致编译生成的程序在某些电脑上无法正常运行,

解决方式:
      1  遇到这种情况当然可以在目标计算机上安装需要的运行库,但是对于一些小程序就完全没有必要了.
      2 可以设置C运行时库为静态链接,来避免出现找不到某某DLL文件的问题.
      3  可以将文件打包.

我用的是vs2012 ,所以将vs2012静态链接的设置写一下
 项目->属性->C/C++->代码生成->运行库 将 多线程DLL(/MDd) 或者多线程调试DLL(/MTd) 改为 多线程(/MD) 或者 多线程调试(/MT) 。
多线程(/MD) 和 多线程调试(/MT) 的区别就是Release和Debug的区别。

问题弊端
静态链接之后的文件会比动态链接的文件要大,所以仅仅适合一些小程序的修复,大程序 大家还是打包吧!

猜你喜欢

转载自blog.csdn.net/yuzhiping1/article/details/53573921