如何在Visual Studio 2022中构建可在其他电脑运行的C++项目?
解决Visual Studio 2022 C++程序分发问题
为什么没有Publish选项
Publish功能是针对.NET项目设计的,C++项目默认没有这个选项,无需纠结该方法。
为什么生成的是.exe.recipe而不是.exe
.exe.recipe是MSBuild构建过程中的中间配置文件,说明你的项目未成功完成构建,或构建配置存在问题。按以下步骤排查:
1. 确保项目构建成功
- 点击顶部菜单栏的
Build->Rebuild Solution,等待构建完成。 - 查看底部的
输出窗口,若有红色错误提示,先修复代码或配置错误,确保构建无报错。
2. 检查构建配置
- 顶部工具栏的解决方案平台(如默认的
x86),选择与目标电脑系统匹配的架构:对方是64位系统选x64,32位选x86。 - 构建模式切换为
Release(Debug模式生成的exe依赖调试版运行库,普通电脑通常没有,不适合分发)。
3. 找到正确的.exe文件路径
- 右键项目 ->
属性->常规,查看输出目录的路径(例如$(SolutionDir)x64\Release\)。 - 打开对应文件夹,正常构建成功后,这里会生成与项目同名的
.exe文件。
分发exe给他人运行的注意事项
方法1:静态链接运行时库(推荐)
- 右键项目 ->
属性->C/C++->代码生成->运行库。 - Release模式下选择
多线程(/MT),Debug模式(不建议分发)选多线程调试(/MTd)。 - 重新Rebuild后生成的exe会把运行时库打包进去,对方电脑无需额外安装依赖即可运行。
方法2:动态链接+分发运行库
- 如果保持默认的
多线程DLL(/MD),需要把对应的VC++运行库dll(如msvcp140.dll、vcruntime140.dll等)和exe一起发给对方。 - 或者让对方安装微软官方的VC++ Redistributable for Visual Studio 2022包,注意架构要与exe一致。
内容的提问来源于stack exchange,提问作者Dat 1 channels




