美文网首页
VS编译的程序在其他机器上运行

VS编译的程序在其他机器上运行

作者: 叁太紫 | 来源:发表于2018-07-25 18:46 被阅读0次

链接的时候分静态链接和动态链接两种。

一、静态连接的话,基本上就不需要向目标机器拷贝附加的文件了,方法如下:

1、修改编译选项,将/MD或/MDd 改为 /MT或/MTd,这样就实现了对vc运行时库的静态链接,在运行时就不再需要vc的dll了(多线程)。

项目—属性—配置属性—C/C++ —代码生成—运行库。

vs 截图

2、工程->属性->配置属性->常规->mfc的使用,选择“在静态库中使用mfc”。

二、动态连接的话,需要在目标机器上拷贝mfc所依赖的动态库。根据你使用的vc版本不同而不同:   VS2013的话,一般包括mfc120.dll、msvcp120.dll等;VS2013/VS2014/VS2015/VS2016等版本可直接到微软去下载对应的运行时环境安装包,安装后就可以了。如下为部分运行环境的安装文件名称(针对32位版本windows的)。可以根据操作系统版本和vc版本进行选择下载和安装

vcredist_arm.exe

vcredist_x64.exe

vcredist_x86.exe

VS2013的话,还是安装以上的运行环境比较保险。

D:\vs2013\VC\redist\x86——.dll 动态文件的路径

D:\vs2013\VC\redist\2052——.exe 文件的路径

———————————————————————————————————————

1、工程属性中:配置属性-常规,MFC使用类型选择“在共享的DLL中使用MFC”;

        C/C++ -代码生成-MFC的使用选择“多线程DLL(/MD)”这种情况下,若直接将exe文件放到目标机器运行,则需要目标机器安装相应的开发平台或者将生成exe程序的依赖dll文件复制到目标机器的程序运行目录下;若用到第三方库,也要复制相应的dll文件。其中依赖的dll文件可以通过Dependency查看。简单的说,若选择这种方式,需要和exe程序和所有需要的系统和第三方dll文件一起打包。

———————————————————————————————————————

2、工程属性中:配置属性-常规,MFC使用类型选择“在静态库中使用MFC”;

        C/C++ -代码生成-MFC的使用选择“多线程(/MT)” 这种情况下,exe程序中已经包含了开发平台单独需要的dll文件。若不包含第三方库,可以将exe复制到目标机器直接运行了;

相关文章

  • VS编译的程序在其他机器上运行

    链接的时候分静态链接和动态链接两种。 一、静态连接的话,基本上就不需要向目标机器拷贝附加的文件了,方法如下: 1、...

  • CocoaData_Runtime初步认识(借鉴)

    1.运行时 VS 编译时 运行时 : 直到程序运行时才确定对象的具体信息 编译时 : 在程序运行之前,编译的时候,...

  • Java - JIT即时编译

    Java - JIT即时编译 前端编译器 VS 后端编译器 前端编译器:javac 编译,在程序运行前,将 源文件...

  • JETSON交叉编译

    1.交叉编译简要流程及必要性 程序在X85和ARM机器指令集不同,需要交叉编译才能在不同机器上运行。交叉编译优点 ...

  • JIT 和 AOT

    程序主要有两种运行方式:静态编译 与 动态解释 AOT (静态编译) 静态编译的程序在执行前程序会被提前编译为机器...

  • 静态编译的好处

    编译的时候默认都不是静态编译,这样编译出来软件换到其他机器上可能就运行不了了。 比如在ubuntu 16.04 上...

  • GO 在Mac上编译可运行的Linux, Windows

    在Mac上编译可运行在Linux, Windows上的GO程序 编译运行在 amd64位 linux系统 编译运行...

  • CMake搭建项目工程(1)-C/C++编译及CMake那些事

    为了将C/C++代码转换为可以在硬件上运行的程序,需要经过编译和链接。编译是将高级语言所写的源程序翻译成等价的机器...

  • please ensure that VS 2013, VS 2

    windows上做Rust开发编译运行提示:please ensure that VS 2013, VS 2015...

  • 理解 configure 脚本

    configure configure脚本为了让一个程序能够在各种不同类型的机器上运行而设计的。在使用make编译...

网友评论

      本文标题:VS编译的程序在其他机器上运行

      本文链接:https://www.haomeiwen.com/subject/sbdmmftx.html