C
使用自定义工具链
默认情况下,Qt Quick Ultralite 在支持的平台上支持 ARM GCC、GHS 或 IAR 工具链。但是,你可以在项目中使用自己的编译器。
要为你的工具链配置 Qt Quick Ultralite,请按照以下步骤操作
- 将
<YOUR_COMPILER>.cmake
添加到lib\cmake\Qul\toolchain
目录。 - 在
platform\boards\<MANUFACTURER_NAME>\<YOUR_PLATFORM>\cmake
下创建<YOUR_COMPILER>
目录。 - 编辑 Qt Quick Ultralite 中的 CMake 配置文件
向项目中添加 <YOUR_COMPILER>.cmake
将 <YOUR_COMPILER>.cmake
添加到 lib\cmake\Qul\toolchain
目录。此文件为项目配置了你的工具链。你也可以使用现有的工具链配置作为你编译器配置的基础。
文件中应设置以下变量
变量 | 描述 |
---|---|
CMAKE_SYSTEM_NAME | CMake 为其构建的操作系统。这必须设置为 Generic 。 |
CMAKE_SYSTEM_PROCESSOR | CMake 为其构建的处理器。例如,如果你的目标 CPU 是 ARM CPU,则将其设置为 arm 。 |
COMPILER_FOLDER_NAME | 告诉 Qt Quick Ultralite 项目应使用哪个编译器目录来针对目标平台。这必须与 platform\boards\<MANUFACTURER_NAME>\<YOUR_PLATFORM>\cmake 中的编译器目录名称匹配,否则在配置过程中你会得到错误。 |
LINKER_SCRIPT_OPTION | 在 qul_platform_add_default_linker_script 中使用,以告诉链接器使用哪些标志。如果你没有使用 LINKER_SCRIPT_OPTION ,则不需要它。 |
CMAKE_C_COMPILER | C 编译器的路径。 |
CMAKE_CXX_COMPILER | C++ 编译器的路径。 |
CMAKE_ASM_COMPILER | 汇编编译器的路径。如果你在你的平台中没有汇编文件,则不需要它。 |
CMAKE_AR | 工具链的归档器的路径。 |
CMAKE_CXX_FLAGS_INIT | 在每次配置中使用的 C++ 编译器标志。 |
CMAKE_C_FLAGS_INIT | 在每次配置中使用的 C 编译器标志。 |
CMAKE_C_FLAGS_DEBUG | 在除了CMAKE_C_FLAGS_INIT中使用的标志之外,在调试配置中使用的C编译器标志。 |
CMAKE_CXX_FLAGS_DEBUG | 在调试配置中使用的C++编译器标志,除了CMAKE_CXX_FLAGS_INIT中的标志。 |
CMAKE_EXE_LINKER_FLAGS_INIT | 在每个配置中都使用的链接器标志。 |
此外,您还需要设置一个可以用来识别您的编译器的变量
SET(<YOUR_COMPILER> ON)
这被用于其他CMake文件中,根据需要配置其他内容。
<YOUR_COMPILER>
目录
在platform\boards\<MANUFACTURER_NAME>\<YOUR_PLATFORM>\cmake
目录中为工具链创建一个名为<YOUR_COMPILER>
的目录(或在之前步骤中将名称设置为COMPILE_FOLDER_NAME
),并将“cmake目录”部分中提到的所有必需文件添加到其中。
Qt Quick Ultralite中的CMake配置文件
您的工具链可能在Qt Quick Ultralite中需要一些额外的配置。
以下文件包含与编译器相关的配置,可能值得检查。
examples\CMakeLists.txt
具有编译器相关的警告标志,如Wall
和Werror
。如果您的编译器不支持已提供的标志,请在此处添加您的标志。platform\CMakeLists.txt
如果您打算在多个平台上使用相同的编译器,那么在此处为Platform
编写一些公共编译选项可能是个好主意。src\CMakeLists.txt
用于构建Core
目标。如果您的编译器有一些必须考虑的特定参数,请在此处添加它们。该文件还包含支持编译器的配置代码。请确认您的编译器可以使用设置的参数,如有必要,修改代码。
src\pngdecoders.cmake
将基于LodePNG的PNG解码器添加到Qt Quick Ultralite。如果您在构建解码器时必须考虑编译器的特定参数,请在此处添加它们。
您的编译器配置已准备好使用。通过运行CMake并使用-DCMAKE_TOOLCHAIN_FILE=path\to\Qt\QtMCUs\1.5.0\cmake\Qul\toolchain\<YOUR_COMPILER>.cmake
来测试它。
在某些Qt许可证下提供。
了解更多信息。