首页 - 信息 - vs2010 c++通过编译总是可以生成.exe可执行文件_VS2010静态编译,让c++程序独立于VS环境运行

vs2010 c++通过编译总是可以生成.exe可执行文件_VS2010静态编译,让c++程序独立于VS环境运行

2023-10-04 09:29

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

?

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

有两种编译方式:

第一种:

一般可以配置以下两项:

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

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

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

执行编译生成计划后,在项目目录下的release文件夹中找到.exe文件,就可以在其他电脑上运行了。

第二种:

设置:

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

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

?

编译时选择debug、win32

不知道为什么,当我选择第二种设置方式时,编译器会报错:“文件无效或损坏”

? ? ?最近在学习C++,看到一本书推荐使用命令行编译源程序,于是自己尝试着使用。让我在这里总结一下这个过程。欢迎大家给我建议,互相学习。同时也感谢网友们对我的帮助!

? ??1.将cl.exe所在路径添加到PATH环境变量中? (cl.exe在安装路径\VC\bin下)

? ? 2.将lib文件夹路径添加到环境变量中? ? ? ? ? ? (lib在安装路径\VC中)

? ? 3. 将包含文件夹路径添加到环境变量中? ? ? (包含在安装路径\VC中)

? ? 4.切换到CMD中源代码的路径

? ? 5.使用cl XX.cpp /EHsc命令编译源码

? ? 6.如果提示找不到XX,请下载对应的文件(库文件放在lib文件夹下,其他一般都在include文件夹下)

? ? 7、已经提示找不到XX。将对应的文件路径添加到PATH

? ?最后附上我一直在找的Kernel32.Lib文件。有需要的朋友可以尝试一下!

设置环境变量、path、lib、include;

网上大部分资料都说设置完这三个步骤就可以了,但是对我来说不行

我还要补充一句

>调用“%VS100COMNTOOLS%”vsvars32.bat??? <==在cl运行时设置一些环境变量

但是这是暂时的,关闭这个dos后就会失效;

最后用了安装vs2010后自带的Visual Studio Tools下的几个dos windows

其实是调整了vcvarsall.bat,只是参数不一样

这是 64 位版本 %comspec% /k ""C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat"" amd64