2.3 VS2019 简单使用
一、VS2019 简介
1.1 VS2019项目结构
主要文件(都是xml文件记录配置):
.sln
:解决方案文件,管理多个项目。.vcxproj
:项目文件,配置编译器和链接器选项。.vcxproj.filters
:分类文件,管理文件在IDE中的显示。.vcxproj.user
:本地用户配置文件,通常不加入版本控制。
1.2 常用快捷键
编辑:
- 格式化代码:Ctrl+K, D 【先按Ctrl+K,再按D】
- 重命名变量名: Ctrl+R 【选中变量,再按Ctrl+R】
- 注释选定内容:Ctrl + K,Ctrl + C【先按Ctrl + K,再按Ctrl + C】
编译与运行:
- 编译程序:F7
- 运行程序:Ctrl + F5
调试:
- 运行到断点位置:F5
- 单步执行:F10
- 单步进入函数:F11
- 结束调试:shift+F5
二、添加已存在的源文件
在项目右键添加源文件,可以自动归类。
三、添加第三方库
3.1 配置头文件路径
项目右键 => 属性 => C/C++ 常规 => 附加包含目录
3.2 配置库路径
(1)添加库名:静态库全名,动态库的导入库全名
项目右键 => 属性 => 链接器 => 输入=> 附加依赖项
(2)添加库的搜索路径
项目右键 => 属性 => 链接器 => 输入 = 附加依赖项
四、编译静态库
4.1 VS编译静态库
步骤:
- 创建空项目。
- 将源码文件添加到项目中
- 修改项目类型(是编译exe、动态库dll、静态库lib)和架构
- 编译
修改编译项目类型:
库文件位置:
4.2 VS编译静态库背后原理
VS2019编译静态库有两个阶段:
- 阶段一:用cl.exe将.c文件编译成obj文件
- 阶段二:用lib.exe生成静态库。
修改编译日志等级:
五、编译动态库
5.1 不生成动态库 导入库(默认)
步骤:
- 创建空项目(不要选dll模板,会导入其他的东西)
- 将源码文件添加到项目中
- 修改项目类型(是编译exe、动态库dll、静态库lib)和架构
- 编译
修改编译项目类型:
编译后的动态库文件:
5.2 生成动态库 导入库
配置库的导出函数文件star.def:
编译后的库文件:
六、VS2019与CMake结合
6.1 不同版本VS的生成器名称
- Visual Studio 2017 (VS 15)
- 生成器名称: Visual Studio 15 2017
- 可选架构:
- Visual Studio 15 2017(默认 32 位)
- Visual Studio 15 2017 Win64(64 位)
- Visual Studio 15 2017 ARM(ARM 架构)
- Visual Studio 2019 (VS 16)
- 生成器名称: Visual Studio 16 2019
- 可选架构:
- Visual Studio 16 2019(默认 32 位)
- Visual Studio 16 2019 Win64(64 位)
- Visual Studio 16 2019 ARM(ARM 架构)
- Visual Studio 16 2019 ARM64(ARM64 架构)
- Visual Studio 2022 (VS 17)
- 生成器名称: Visual Studio 17 2022
- 可选架构:
- Visual Studio 17 2022(默认 32 位)
- Visual Studio 17 2022 Win64(64 位)
- Visual Studio 17 2022 ARM(ARM 架构)
- Visual Studio 17 2022 ARM64(ARM64 架构)
6.2 cmake指定生成器
在 CMake 命令行中,可以使用 -G 参数指定生成器和 -A 用于指定架构(如 Win64、ARM 等),例如:
cmake -G "Visual Studio 17 2022" -A Win64 .. && cmake-gui ..
- 第一个命令:根据指定生成器,生成构建系统。
- 第二个命令:启动CMake GUI并加载相同的源代码目录,方便图形化配置。