VisualStudio使用CMake配置文件来促进生成和建立CMake。VisualStudio2019版本16.10或更高版本支持CMakePresets.json,它也是推荐的CMake配置文件。CMakePresets.json遭到CMake直接支持format命令参数错误,它可用于推动通过VisualStudio、VSCode、持续集成管线和Windows、Linux与Mac上的命令行来生成和建立CMake。若要详尽了解CMakePresets.json,请参阅使用CMake预设进行配置和生成。

假如维护使用CMakeSettings.json文件进行CMake生成配置的项目adobe air linux,VisualStudio2019及更高版本提供CMake设置编辑器。使用该编辑器,可以添加CMake配置并轻松自定义其设置。它致力成为自动编辑CMakeSettings.json文件的更简单取代方式。并且,假如喜欢直接编辑该文件,可以选择编辑器右上角的“编辑JSON”链接。

若要打开CMake设置编辑器,请选择主工具栏的“配置”下拉列表,之后选择“管理配置”。

CMake 配置下拉列表的屏幕截图,其中突出显示了“管理配置”选项。

如今可以见到“设置编辑器”左侧显示了已安装的配置。

CMake 设置编辑器的屏幕截图。

默认情况下,VisualStudio提供一个x64-Debug配置。可以通过选择红色减号来添加更多配置。在编辑器中见到的设置可能会因所选配置而异。

在编辑器中选择的选项会写入名为CMakeSettings.json的文件。此文件提供生成项目时传递到CMake的命令行参数和环境变量。VisualStudio绝不会手动更改CMakeLists.txt;使用CMakeSettings.json,可通过VisualStudio自定义生成,同时使CMake项目文件保持不变,便于团队中的其他人可以使用当前工具进行处理。

CMake常规设置

“常规”标题下提供了以下设置:

配置名称

对应于“名称”设置。此名称显示在C++配置下拉列表中。可以使用${name}宏编撰其他属性值(如路径)。

配置类型

对应于“configurationType”设置。定义所选生成器的生成配置类型。当前支持的值为“Debug”、“MinSizeRel”、“Release”和“RelWithDebInfo”。它映射到CMAKE_BUILD_TYPE。

工具集

对应于“inheritedEnvironments”设置。定义用于生成所选配置的编译器环境。支持的值取决于配置类型。若要创建自定义环境,请选择“设置编辑器”右上角的“编辑JSON”链接,之后直接编辑CMakeSettings.json文件。

CMake工具链文件

CMake工具链文件的路径。此路径以“-DCMAKE_TOOLCHAIN_FILE=”的方式传递给CMake。工具链文件指定编译器和工具链实用程序的位置,以及其他目标平台和编译器相关信息。默认情况下linux软件工程师,假如未指定此设置,VisualStudio将使用。

生成根目录

对应于“buildRoot”。映射到CMAKE_BINARY_DIR,并指定在何处创建CMake缓存。倘若指定的文件夹不存在,则创建该文件夹。

命令参数

“命令参数”标题下提供了以下设置:

CMake命令参数

对应于“cmakeCommandArgs”。指定传递给CMake的任何其他命令行选项。

生成命令参数

对应于“buildCommandArgs”。指定传递给基础生成系统的更多开关。比如format命令参数错误,在使用Ninja生成器时,传递-v会强制Ninja输出命令行。

CTest命令参数

对应于“ctestCommandArgs”。指定运行测试时传递给CTest的更多命令行选项。

远程生成的常规设置

参数命令错误请重新安装金税盘_format命令参数错误_命令参数错误怎么解决

对于使用远程生成的配置(如Linux),还提供以下设置:

rsync命令参数

传递给rsync(一种快速通用的文件复制工具)的其他命令行选项。

CMake变量和缓存

通过这种设置,可设置CMake变量并将其保存在CMakeSettings.json中。它们在生成时传递给CMake,并取代CMakeLists.txt文件中的任何值。你可以根据此部份所述使用CMakeGUI来查看可编辑的所有CMake变量列表相同。选择“保存并生成缓存”按钮以查看所有可编辑的CMake变量列表,包括中级变量(按照CMakeGUI)。可以按变量名称筛选列表。

对应于“variables”。包含以-Dname=value的方式传递给CMake的CMake变量名称/值对。假如CMake项目生成指令指定将任何变量直接添加到CMake缓存文件,这么建议改为在这儿添加它们。

中级设置CMake生成器

对应于“generator”。映射到CMake-G开关,并指定要使用的CMake生成器。编撰其他属性时,此属性也可用作宏${generator}。VisualStudio当前支持下述CMake生成器:

因为Ninja致力推动生成速率,而不是提升灵活性和功能,因而它被设为默认生成器。并且,个别CMake项目可能难以使用Ninja正确地进行生成。假如发生此类情况,可以指示CMake改为生成VisualStudio项目。

命令参数错误怎么解决_format命令参数错误_参数命令错误请重新安装金税盘

IntelliSense模式

IntelliSense引擎使用的IntelliSense模式。假如未选择任何模式,VisualStudio将从指定的工具集承继模式。

安装目录

CMake安装目标所在的目录。映射到CMAKE_INSTALL_PREFIX。

CMake可执行文件

CMake程序可执行文件的完整路径,包括文件名和扩充名。它容许你在VisualStudio中使用CMake的自定义版本。对于远程生成,请在远程计算机上指定CMake位置。

对于使用远程生成的配置(如Linux),还提供以下设置:

远程CMakeLists.txt根目录

远程计算机上包含根CMakeLists.txt文件的目录。

format命令参数错误_参数命令错误请重新安装金税盘_命令参数错误怎么解决

远程安装根目录

远程计算机上CMake在其中安装目标的目录。映射到CMAKE_INSTALL_PREFIX。

远程复制源

指定是否将源文件复制到远程计算机,并容许你指定是使用rsync还是sftp。

直接编辑CMakeSettings.json

还可以直接编辑CMakeSettings.json以创建自定义配置。“设置编辑器”的右上角有一个“编辑JSON”按钮,单击该按键可打开文件进行编辑。

下边的示例演示了一个示例配置,可将该配置用作起点:

    {
      "name": "x86-Debug",
      "generator": "Ninja",
      "configurationType": "Debug",
      "inheritEnvironments": [ "msvc_x86" ],
      "buildRoot": "${env.USERPROFILE}\CMakeBuilds\${workspaceHash}\build\${name}",
      "installRoot": "${env.USERPROFILE}\CMakeBuilds\${workspaceHash}\install\${name}",
      "cmakeCommandArgs": "",
      "buildCommandArgs": "-v",
      "ctestCommandArgs": ""
    },

可利用JSONIntelliSense编辑CMakeSettings.json文件:

当你选择的设置不兼容时,JSON编辑器都会进行提示。

有关文件中每位属性的详尽信息,请参阅CMakeSettings.json构架引用。

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复