VS2010静态编译生成.exe可执行文件

VS2010静态编译生成的.exe可执行文件,可以免安装在其他电脑直接运行

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

编译方式:

第1种:

设置:

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

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

编译时,选择的是debug,win32

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

第2种:

一般可以配置一下两项:

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

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

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

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

?

一般而言,vs项目生成的文件在项目文件夹下的Debug或Release下。

现在需求如下:

生成的文件(exe或dll文件)存入项目文件夹下的bin(自定义文件夹)。

解决方案:

右键项目,选中菜单属性,弹出属性页。

依次选择配置属性-->常规-->输出目录,

将原来的$(SolutionDir)$(Configuration)\修改成$(SolutionDir)$(Configuration)\..\bin

操作结束。

?

VS2010设置目标文件(.dll/.exe)和导入库文件(.lib)的输出路径

默认情况下,目标文件和导入库文件的路径为Debug或Release,文件名称为工程项目名称。扩展名为.dll/.exe和.lib。 那我们如何去修改.dll/.exe和.lib输出路径和文件名称? 首先,我们需要先了解VS2010中几个宏名称的含义,以及在配置页面中如何改变它们?

宏名称含义修改位置$(OutDir)目标文件的输出目录Configuration Properties-General-Output Directory$(TargetName)目标文件的名称Configuration Properties-General-Target Name$(TargetExt)目标文件的扩展名Configuration Properties-General-Target Extension$(ProjectName)工程项目的名称IDE的Solution explorer视图中直接修改

对于目标文件的路径和文件名称,由IDE中Configuration Properties-Linker-General-Output File的内容所指定。 默认情况下为$(OutDir)$(TargetName)$(TargetExt),从上面的宏名称介绍可以得知, 只要修改Configuration Properties-General-Output Directory,就可以更改目标文件的输出路径。 同时,也可以直接修改Configuration Properties-Linker-General-Output File。

对于导入库文件路径和文件名称,由IDE中Configuration Properties-Linker-Advanced-Import Library的内容所指定。 默认情况下为空,在为空的情况下采用目标文件路径和名称,扩展名为.lib。 所以我们可以直接修改Configuration Properties-Linker-Advanced-Import Library的内容,从而去改变导入库文件的输出路径。