首页 » 技术分享 » VS2013编译的用c++写的win32程序兼容性问题

VS2013编译的用c++写的win32程序兼容性问题

 

最近在用VS2013写程序,把编译好的exe在别人的电脑上运行就会出现缺少msvcp文件不能运行的情况。在网上搜了一下,问题原因如下:

C/C++程序运行时需要标准库的支持,Windows下为msvcrt.dll(C运行时)和msvcp(C++运行时),Linux下为libc.so和libstdc++.so。Windows XP里面自带VC 6.0的运行时,如果用VC 6编译的话可以正常运行。

VS 2013的运行时必须额外安装,也就是vc2013 redistribution。也可以像你现在做的这样,编译时选择/MT,这时运行时将直接包含在你的执行文件中,就可以在任意机器上运行。这也是为什么你的文件变得非常大,因为标准库的实现被包括进去了。

解决办法:

1、在生成解决方案时选择release,而不是debug。

转载自原文链接, 如需删除请联系管理员。

原文链接:VS2013编译的用c++写的win32程序兼容性问题,转载请注明来源!

0