讲师中心 微信公众号
AI工具推荐 视频效率加速

Visual Studio新建项目时应该如何选择模板

雨婷大大_4293

雨婷大大_4293

发布时间:2026-09-10 13:09:17

|

523人浏览过

|

来源于php中文网

原创

控制台程序应选Console Application模板:它自动生成含int main()的main.cpp、链接CONSOLE子系统、默认支持中文输出;若需完全自定义构建流程(如集成Ninja、静态CRT、屏蔽CRT初始化),则必须选Empty Project。

visual studio新建项目时应该如何选择模板

选错模板不是“重来一次”那么简单——它可能让你在后续几天反复折腾编译错误、缺失引用、不兼容的 SDK 版本,甚至误入 MFC 或 ATL 的历史坑。关键不是“哪个看起来顺眼”,而是看清楚 main() 是否存在、WinMain() 是否被强制注入、项目是否自带 .vcxproj 还是只生成 CMakeLists.txt

控制台程序该用 Console Application 还是 Empty Project?

如果你只是跑算法、写工具脚本、验证某个 STL 行为,Console Application 是默认安全选择:它自动生成带 int main()main.cpp,链接 CONSOLE 子系统,输出窗口能正常显示中文(只要控制台编码匹配)。但如果你打算手动管理构建流程、集成 Ninja、或嵌入 Lua 解释器并完全屏蔽 CRT 初始化,那就必须选 Empty Project——它不生成任何源文件,也不预设 SubSystem,所有 linker 选项、预处理器定义、字符集都得你填。

  • Console Application 默认启用 /MD(动态链接 CRT),若需静态链接,得手动改 Configuration Properties > C/C++ > Code Generation > Runtime Library
  • Empty Project 不创建 main.cpp,右键项目 → “添加新项” → 选 C++ 文件(.cpp) 后,必须手写 int main(int argc, char** argv),否则链接时报 LNK2019: unresolved external symbol _main
  • 两者生成的 .vcxproj 文件结构不同:Console Application 包含 <configurationtype>Application</configurationtype><subsystem>Console</subsystem>Empty Project 则只有空壳,SubSystem 字段初始为空,不填会导致 Windows 下启动黑屏闪退

CMake Project 模板和传统 .vcxproj 项目根本不是一回事

CMake Project 模板不生成 .sln.vcxproj,只生成 CMakeLists.txt 和一个空 main.cpp。VS 后台调用的是本地安装的 CMake(而非 MSBuild),所以你改 Configuration Manager 里的平台没用——真正生效的是 CMakeSettings.json 里写的 configuration 数组。这个模板适合你已经习惯用 cmake -G "Visual Studio 17 2022" -A x64 命令行的人,或者团队要求统一用 CMake 管理跨平台构建。

Visual Studio Professional 18.8.1
Visual Studio Professional 18.8.1

Visual Studio 18.8.1 官方固定版本安装引导程序,当前条目使用微软发布历史中的 Professional Web Installer,适合旧项目兼容、环境回退、复现特定构建链和排查版本差异等场景。

下载
  • 若未安装 “CMake tools for Visual Studio” 工作负载,新建后会直接报错:CMake executable not found
  • 修改 CMakeLists.txt 后,VS 不会自动 reconfigure——必须点工具栏的 全部重新生成 或右键 CMake 根节点选 重新生成 CMake 缓存
  • 调试时断点可能不命中:因为 VS 默认用 launch.vs.json 启动,但 CMake 项目实际由 cmake --build 产物驱动,需确认 target 名与 executable 路径一致

Win32 GUI 项目别乱点 Windows Desktop Application

Windows Desktop Application 模板生成的是纯 Win32 API 窗口程序,入口是 WinMain(),消息循环、RegisterClassExCreateWindowEx 全都写好了。但它默认使用 Unicode 字符集 + 多字节混合模式(/utf-8 未启用),如果代码里硬写 L"Hello" 却忘了 #define UNICODE,编译会卡在 CreateWindowExW 找不到符号。更隐蔽的问题是:它默认关闭了 SDL checks(安全开发生命周期检查),而现代项目通常需要开启 /GS/guard:cf

  • 若你实际想用 WPF 或 WinForms,千万别选这个——它们属于 .NET 生态,对应模板是 WPF ApplicationWindows Forms App (.NET Framework),底层完全不碰 Win32
  • 若你勾选了 “使用 ATL” 或 “使用 MFC”,模板就变成 MFC Application,项目会引入大量宏和类库,stdafx.h 和预编译头机制会强制启用,关不掉
  • 该模板生成的资源文件(.rc)默认编码是系统 ANSI,遇到中文菜单或对话框文字,容易在非中文 Windows 上显示乱码,需手动把 .rc 文件另存为 UTF-8 with BOM

最常被忽略的一点:模板一旦选定,ProjectTypeTargetFramework(或 PlatformToolset)就锁死了。比如用 Console Application 创建的项目,默认 PlatformToolsetv143(VS 2022),但如果你后期想切到 v142(VS 2019),光改下拉菜单不行,还得手动编辑 .vcxproj 里所有 <platformtoolset></platformtoolset> 节点,否则构建时会静默降级失败。

热门AI工具

更多
AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
vscode和visualstudio的区别
vscode和visualstudio的区别

Visual Studio是一款功能强大的集成开发环境(IDE),适用于专业开发人员进行复杂项目的构建。而VSCode则是一款轻量级的代码编辑器,更适合各种规模的项目开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

1076

2024.03.15

vscode和visualstudio对比分析
vscode和visualstudio对比分析

VSCode是一款轻量级代码编辑器,界面简洁,支持广泛的编程语言,适合个人开发者和小团队。而Visual Studio是一款全功能IDE,界面复杂但功能丰富,适合大型项目开发和团队协作,特别是面向.NET开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2012

2024.04.01

Aionclaw智能助手介绍
Aionclaw智能助手介绍

本专题汇总了AionClaw(AI龙虾助手)的功能介绍与在线使用入口。AionClaw是杭州趣猿人工智能有限公司推出的桌面级AI智能体,能直接在电脑上读写文件、运行脚本、操作浏览器,自动交付Word、PPT、Excel等成品。

20

2026.09.20

AionClaw AI智能体与电脑自动化任务执行功能使用教程
AionClaw AI智能体与电脑自动化任务执行功能使用教程

AionClaw专题整理AI智能体与电脑自动化相关功能使用教程,涵盖安装部署、AI任务执行、Skills技能、文件处理、浏览器控制、电脑操作、持久记忆、聊天工具连接以及办公、编程和内容创作等功能,帮助用户快速掌握AionClaw的实际使用方法。

0

2026.09.20

AI视频生成软件推荐
AI视频生成软件推荐

本专题汇总了当前主流的AI视频生成软件推荐与排行榜单,涵盖seko、AniShort、剧云、Lovart、LiblibAI及立刻mv等热门工具。同时整理了各软件在文生视频、图生视频、时长限制、画质表现及免费额度等方面的差异对比,助您快速选对适合创作需求的AI视频生成工具。

180

2026.09.16

ai生成视频的工具免费版合集
ai生成视频的工具免费版合集

本专题汇总了当前免费AI生成视频工具的排行榜与推荐清单,涵盖seko、讯飞智作、AniShort及剧云、Lovart等多模型集成平台。同时整理了各工具的免费额度、输出时长、水印政策及适用场景差异,助您快速选择合适工具开启AI视频创作。

100

2026.09.16

Pandas时间序列分析与可视化报表
Pandas时间序列分析与可视化报表

本专题整理Pandas日期转换、时间索引、重采样、滚动窗口、时区处理、plot绘图、Styler表格样式和报表输出方法。

80

2026.09.16

Pandas数据筛选索引与清洗处理
Pandas数据筛选索引与清洗处理

本专题整理Pandas中的loc、iloc、条件筛选、query查询、缺失值处理、重复值删除、类型转换和字符串列清洗方法。

60

2026.09.16

Pandas数据读取导入与文件导出处理
Pandas数据读取导入与文件导出处理

本专题整理Pandas读取CSV、Excel、JSON、SQL、Parquet等文件的方法,以及to_csv、to_excel、to_sql和to_parquet等常用数据导出流程。

40

2026.09.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Visual Studio 性能优化指南
Visual Studio 性能优化指南

共0课时 | 0人学习

Visual Studio 企业部署手册
Visual Studio 企业部署手册

共0课时 | 0人学习

Visual Studio 扩展开发指南
Visual Studio 扩展开发指南

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn