SDK 工具
Qt Online Installer使用 SDK 工具 (sdktool
) 配置 CMake 和设置套件首选项,如编译器、调试器、设备和 Qt 版本。例如,你可以从命令行使用它为一台电脑的所有用户自动设置 Qt 和Qt Creator 首选项。对于单个用户,通常在首选项>Kits 中进行更改更方便。
要使用 SDK 工具,请在 Qt 安装目录下的Tools\sdktool\bin
目录中输入以下命令:
sdktool [OPTION] [OPERATION [OPTIONS]]
有关您的 SDK 工具版本所支持的选项和操作的信息,请输入:
sdktool --help
值类型
操作将<KEY> <TYPE>:<VALUE>
形式的设置添加到其创建的配置中。支持的TYPE
值有
bool
int
- QByteArray
- QString
- QVariantList
SDK 路径
Qt Online Installer 和 独立安装程序都会安装 。安装程序中的 默认为安装程序中 读取 SDK 工具写入信息的位置。要将 指向其他 安装,请根据使用 还是脱机安装程序来设置 。Qt Creator sdktool
sdktool
Qt Creator sdktool
Qt Creator Qt Online Installer --sdkpath
- Qt Online Installer:
<Qt_Online_Installer>/Tools/sdktool
- Qt Creator 单机版安装程序:
- 在 Windows 和 Linux 上:
<qtcreator>/share/qtcreator/
- 在 macOS 上
Qt Creator.app/Contents/Resources/
- 在 Windows 和 Linux 上:
选项
下表概述了可用选项。
选项 | 说明 |
---|---|
--help | -h | 显示 SDK 工具选项的帮助。 输入 |
--sdkpath=<PATH> | -s <PATH> | 设置 SDK 工具写入文件的路径。 |
操作
下表总结了可用的操作。
操作 | 说明 |
---|---|
添加 ABIFlavor | 添加系统架构(ABI)。 |
添加 CMake | 添加 CMake 工具的路径。 |
添加调试器 | 添加调试器。 |
添加设备 | 添加设备。 |
addKeys | 以<KEY> <TYPE>:<VALUE> 键值对形式添加设置。 |
添加工具包 | 添加构建和运行工具包。 |
添加 Qt | 添加 Qt 版本。 |
添加编译器 | 添加编译器。 |
find | 查找设置值 |
findKey | 查找设置键 |
get | 获取设置 |
rmCMake | 移除 CMake 工具的路径。 |
rmDebugger | 移除调试器 |
rmDev | 移除设备 |
rmKeys | 移除设置 |
rmQt | 移除 Qt 版本。 |
rmTC | 移除编译器 |
添加系统架构(ABI)
addAbiFlavor
sdktool addAbiFlavor --flavor <NAME> --oses <OS>(,<OS>)*
addAbiFlavor 选项
下表总结了可用选项。
选项 | 说明 | 必填 |
---|---|---|
--flavor <NAME> | 系统架构(ABI)名称。 | ![]() |
--oses <OS>(,<OS>)* | ABI 适用的操作系统。 | ![]() |
ABI 版本示例
要在 Linux 上添加 Yocto Poky,请输入
./sdktool addAbiFlavor \ --flavor poky \ --oses linux
添加 CMake 工具
addCMake
sdktool addCMake --id <ID> --name <NAME> --path <PATH> [<KEY> <TYPE:VALUE>]
addCMake 选项
下表总结了可用选项。
选项 | 说明 | 需要 |
---|---|---|
--id <ID> | CMake 安装的 ID。可以是任何 ASCII(7 位)字符串。 如果在字符串中不使用版本号,注册的 CMake 会在您更新此 CMake 安装时保留 ID,因此所有套件都会自动更新以使用新版本。 | ![]() |
--name <NAME> | CMake 安装的名称。 | ![]() |
--path <PATH> | CMake 可执行文件的路径。 | ![]() |
<KEY> <TYPE:VALUE> | 作为键值对的附加设置。 |
更多信息,请参阅添加 CMake 工具。
CMake 配置示例
要在 Windows 上添加 CMake 工具,请输入
sdktool addCMake \ --id "my.custom.cmake" \ --name "Custom CMake" \ --path "C:\Program Files\CMake-3.30\bin\cmake.exe"
添加编译器
添加编译器
sdktool addTC --id <ID> --language <ID> --name <NAME> --path <PATH> --abi <ABI STRING> [OPTIONS]
addTC 选项
下表总结了可用选项。
选项 | 说明 | 需要 |
---|---|---|
--abi <ABI STRING> | 编译器的 ABI,格式为ProjectExplorer::Abi::fromString() 可以解析的格式。 | ![]() |
--id <ID> | 工具链 ID(格式为ToolChainType:some_unique_part ),其中工具链类型可以是以下类型之一,也可以是插件提供的其他类型:
检查从
| ![]() |
--language <ID> | 工具链输入语言的 ID:C 或Cxx 。注册 C 或 C++ 编译器时,请务必同时注册相应的 C++ 或 C 编译器。 | ![]() |
--name <NAME> | 工具链名称。 | ![]() |
--path <PATH> | 编译器可执行文件的路径。 | ![]() |
--supportedAbis <ABI STRING>,<ABI STRING> | 编译器支持的 ABI 列表。 | |
<KEY> <TYPE:VALUE> | 作为键值对的其他设置。 |
更多信息,请参阅添加编译器。
编译器示例
要在 Linux 上添加 GCC 编译器,请输入
./sdktool addTC \ --id "ProjectExplorer.ToolChain.Gcc:company.product.toolchain.g++" \ --language Cxx --name "GCC (C++, x86_64)" \ --path /home/code/build/gcc-6.3/usr/bin/g++ \ --abi x86-linux-generic-elf-64bit \ --supportedAbis x86-linux-generic-elf-64bit,x86-linux-generic-elf-32bit \ ADDITIONAL_INTEGER_PARAMETER int:42 \ ADDITIONAL_STRING_PARAMETER "QString:some string" \
添加调试器
添加调试器
sdktool addDebugger --id <ID> --name <NAME> [OPTIONS]
addDebugger 选项
下表总结了可用选项。
选项 | 说明 | 需要 |
---|---|---|
--abis <ABI,ABI> | 以逗号分隔的系统架构定义列表。 | |
--binary <PATH> | 调试器可执行文件的路径。可以是绝对路径、值auto 或 ABI。在Qt Creator 不知道二进制路径的情况下,为 MSVC 工具链查找适当的调试器。 | |
--engine <ENGINE> | 调试器引擎类型:
| |
--id <ID> | 调试器的唯一 ID。 | ![]() |
--name <NAME> | 调试器名称。 | ![]() |
<KEY> <TYPE:VALUE> | 作为键值对的其他设置。 |
有关详细信息,请参阅添加调试器。
调试器示例
要在 Linux 上添加 GDB 调试器,请输入
./sdktool addDebugger \ --id "company.product.toolchain.gdb" \ --name "GDB (company, product)" \ --engine 1 \ --binary /home/code/build/gdb-7.12/bin/gdb \ --abis arm-linux-generic-elf-32 \
添加设备
addDev
sdktool addDev --id <ID> --name <NAME> --type <INT> [OPTIONS]
addDev 选项
下表总结了可用选项。使用的选项取决于设备类型。
选项 | 说明 | 需要 |
---|---|---|
--authentication <INT> | 身份验证方法:
| |
--b2qHardware <STRING> | Boot to Qt 硬件平台信息。 | |
--b2qSoftware <STRING> | Boot to Qt 软件平台信息。 | |
--debugServerKey <STRING> | 调试服务器密钥。 | |
--dockerClangdExecutable <STRING> | Docker 容器中 Clangd 可执行文件的路径。 | |
--dockerMappedPaths <STRING> | 以分号分隔的 Docker 映射路径列表。 | |
--dockerRepo <STRING> | Docker 映像存储库。 | |
--dockerTag <STRING> | Docker 映像标签。 | |
--freePorts <STRING> | 空闲端口。 | |
--host <STRING> | 设备的主机名或 IP 地址。 | |
--id <ID> | 设备的唯一 ID。 | ![]() |
--keyFile <STRING> | 用户私钥文件的路径。 | |
--name <NAME> | 设备名称。 | ![]() |
--origin <INT> | 是否自动检测到设备:
| |
--osType <STRING> | 设备上的操作系统:
| |
--password <STRING> | 用于密码验证的密码。 | |
--sshPort <INT> | 用于 SSH 连接的端口号。 | |
--timeout <INT> | 重复使用 SSH 连接的超时(秒)。 | |
--type <INT> | 设备类型:
| ![]() |
--uname <STRING> | 访问设备的用户名。 | |
<KEY> <TYPE:VALUE> | 作为键值对的其他设置。 |
更多信息,请参阅如何:为设备开发。
Linux 设备示例
要在 Linux 上添加远程 Linux 设备(硬件设备)并使用 SSH 密钥对设备进行身份验证,请输入:
./sdktool addDev \ --id " LinuxDevice1" \ --name "My Remote Linux Device" \ --type 1 \ --authentication 2 \ --freePorts "10000-10100" \ --host "10.10.10.15" \ --keyFile "/usr/.ssh/qtc_id" \ --origin 1 \ --osType "GenericLinuxOsType" \ --sshPort 22 \ --timeout 10 \ --uname "root"
添加 Qt 版本
addQt
sdktool addQt --id <ID> --name <NAME> --qmake <PATH> --type <TYPE> [OPTIONS]
addQt 选项
下表总结了可用选项。
选项 | 说明 | 需要 |
---|---|---|
--abis <ABI,ABI> | 以逗号分隔的系统架构定义列表。 | |
--id <ID> | Qt 安装的 ID。Qt Creator 在检测到计算机上安装的 Qt 版本时会自动设置 ID。 | ![]() |
--name <NAME> | Qt 安装的名称。 | ![]() |
--qmake <PATH> | Qt 安装中 qmake 可执行文件的路径。 | ![]() |
--type <TYPE> | Qt 版本的类型:
| ![]() |
<KEY> <TYPE:VALUE> | 作为键值对的附加设置。 |
更多信息,请参阅添加 Qt 版本。
Qt 版本示例
要在 Linux 上添加自建的 Qt 6.8 版本,请输入
./sdktool addQt \ --id "company.product.qt" \ --name "Custom Qt" \ --qmake /home/code/build/qt-6.8/bin/qmake \ --type Qt4ProjectManager.QtVersion.Desktop \
添加套件
addKit
sdktool addKit --id <ID> --name <NAME> --devicetype <TYPE> [OPTIONS]
addKit 选项
下表概述了可用选项。
选项 | 说明 | 需要 |
---|---|---|
--builddevice <ID> | 要在其上构建应用程序的设备 ID。 | |
--cmake <ID> | 用于构建项目的 CMake 可执行文件的 ID。 | |
--cmake-config <KEY:TYPE=VALUE> | 套件 CMake 配置的参数。可添加多个此类条目。 | |
--cmake-generator <GEN>:<EXTRA>:<TOOLSET>:<PLATFORM> | 用于生成项目文件的 CMake 生成器。 | |
--debugger <PATH> | 套件所用调试器的路径。请勿在--debuggerid 中使用此选项。 | |
--debuggerengine <ENGINE> | 通过--debugger 设置的调试器类型。请勿在--debuggerid 中使用此选项。 | |
--debuggerid <ID> | 使用addDebugger 操作添加调试器时使用的 ID 之一。请勿将此选项与--debugger 和--debuggerengine 一起使用。 | |
--device <ID> | 运行应用程序的设备。 | |
--devicetype <TYPE> | 运行应用程序的设备类型:
| ![]() |
--env <VALUE> | 构建环境的环境变量值。可以添加多个此类条目。 | |
--run-env <VALUE> | 运行环境的环境变量值。可以添加多个此类条目。 | |
--icon <PATH> | 用作工具包图标的图片路径。 | |
--id <ID> | 工具包的 ID。Qt Creator 在检测到计算机上安装的 Qt 版本时会自动设置 ID。 | ![]() |
--<LANG>toolchain <ID> | 使用addTC 操作添加编译器时使用的 ID 之一。<LANG> 为:C ,Cxx ,Nim , 或由插件设置的 ID。 | |
--mkspec <PATH> | qmake 使用的mkspec 配置。省略此选项可使用所设置 Qt XML 版本的默认mkspec 。 | |
--name <NAME> | 工具包名称。你可以使用变量来根据你在其他操作中设置的套件元素(如 Qt 版本)生成套件名称。 | ![]() |
--qt <ID> | 使用addQt 操作添加 Qt 版本时使用的 ID 之一。 | |
<KEY> <TYPE:VALUE> | 作为键值对的其他设置。 |
更多信息,请参阅添加工具包。
工具包示例
要添加一个使用 GCC 编译器和自建 Qt 在 Linux 上构建应用程序的工具包,请输入:
./sdktool addKit \ --id "company.product.kit" \ --name "Qt %{Qt:Version} (company, product)" \ --debuggerid "company.product.toolchain.gdb" \ --devicetype GenericLinuxOsType \ --sysroot /tmp/sysroot \ --Ctoolchain "ProjectExplorer.ToolChain.Gcc:company.product.toolchain.gcc" \ --Cxxtoolchain "ProjectExplorer.ToolChain.Gcc:company.product.toolchain.g++" \ --qt "company.product.qt" \ --mkspec "devices/linux-mipsel-broadcom-97425-g++" \
添加、获取和查找密钥
输入相对于顶层设置目录且不带 .xml 扩展名的文件路径,然后输入一个或多个<KEY> <TYPE>:<VALUE>
键值对。
删除配置项目
要删除 CMake 工具、编译器、调试器、设备、Qt 版本或工具包,请输入
rm<Item> --id <ID>
其中<ID>
是项目的 ID。
Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.