常规属性页(项目)
常规
目标平台
指定运行项目的平台。例如,Windows,Android或iOS。
在此处,值 Windows 10 表示项目面向通用 Windows 平台。此属性是在创建项目时设置的只读字段。
目标平台版本
指定用于生成项目的 Windows SDK 的版本。
Windows SDK (Software Development Kit)包含了开发 Windows 应用程序需要的头文件和库文件 (dll 和 lib), 比如 windows.h 头文件等。
新版本的SDK可能会更新一些API或者其他属性。
对于开发者来说,选择较新的 版本的Windows SDK ,会使用一些旧版本无法使用的API,在这种情况下进行编译,在旧的版本上运行会出错。但是这并不意味着一定不能运行,如果你的应用可以利用较新的 Windows SDK 版本中的功能,但仍在早期版本上运行,可能会丢失一些功能,需要禁用旧平台版本中不可用的功能。
输出目录
指定项目生成过程中创建的所有最终输出文件的目录。默认情况下,此属性是宏组合指定的目录。
中间目录
指定编译器等工具放置生成过程中创建的所有中间文件的目录。默认情况下,此属性是宏指定的目录。
目标文件名
指定此项目生成的文件名。
目标文件扩展名
指定此项目生成的文件扩展名,如.exe
或.dll
。
清理时要删除的扩展名
指定在执行清理或者重新生成时要删除中间目录中的文件。
生成日志文件
创建的日志文件生成目录。
平台工具集
指定用于生成当前配置的工具集。默认指向 VS 安装最新版本号,比如 VS2015 对 v140, VS2019 对 v142。
启用托管增量生成
对于托管项目,允许在生成程序集时检测外部可见性。如果对托管项目的更改对其他项目不可见,则不会重新生成依赖项目。
项目默认值
配置类型
指定此配置生成的输出类型。
MFC的使用
指定 MFC 项目是静态还是动态链接,非 MFC 项目选择“使用标准Windows库”。
字符集
通知编译器使用指定的字符集。
公共语言运行时支持
指定此配置是否支持公共语言运行时
全程序优化
指定程序将跨.obj边界进行优化,当开启C/C++优化时效果最好。
常规属性页(文件)
常规
从生成中排除
是否从配置的生成中排除选定的文件。
内容
指定文件是否为可部署的内容。
项类型
确定生成工具或文件,即在生成过程中将用于处理文件的工具。
调试属性页
命令
要执行的调试命令。
命令参数
要传给应用程序的命令行参数。
工作目录
应用程序的工作目录。
附加
指定调试器是否应尝试在启动调试时附加到现有进程。
调试器类型
指定要使用的调试器类型。如果设置为“自动”,会根据exe文件的内容选择调试器类型。
环境
指定调试环境的对象,或者和现有的调试环境合并。
合并环境
是否将指定环境变量和现有环境合并。
SQL调试
附加SQL调试器
VC++目录属性页
常规
这里单独说一下库目录
用于搜索库 (.lib
) 文件的目录。此搜索包括运行时库。对应于 LIB
环境变量。此设置不适用于 .obj
文件;若要链接到 .obj
文件,需要在“>链接器>常规”属性页上,选择“其他库依赖项”,然后指定文件的相对路径。
C/C++属性页
常规页
调试信息格式
- 无 - 不生成调试信息,因此编译速度可能会更快。
- C7 兼容 - 选择为程序创建的调试信息的类型,以及此信息是保存在对象 (.obj) 文件中还是保存在程序数据库 (PDB) 中。
- 程序数据库 - 生成程序数据库 (PDB),其中包含用于调试器的类型信息和符号调试信息。符号调试信息包括变量和函数的名称和类型以及行号。
- 用于编辑并继续的程序数据库 - 支持“编辑并继续”功能的格式生成程序数据库。
警告级别
- 关闭所有警告 - 级别 0 禁用所有警告。
- 等级1 - 级别 1 显示严重警告。级别 1 是命令行中的默认警告级别。
- 等级2 - 级别 2 显示所有级别 1 警告和严重程度低于级别 1 的警告。
- 等级 3 - 级别 3 显示所有级别 2 警告和推荐用于生产目的的所有其他警告。
- 等级 4 - 级别 4 显示所有级别 3 警告以及信息性警告,在大多数情况下可以安全地忽略这些信息警告。
- 启用所有警告 - 启用所有警告,包括默认禁用的警告。
将警告视为错误
对于新项目,最好在每次编译中使用 /WX。解决所有警告,以最大程度地减少难以发现的代码缺陷。