--
用来 区分不同的工具或构建系统的选项,以便它们能够正确地解析和处理。--
是用于 分隔选项 的标记,它在许多构建工具(如 cmake
和 configure
脚本)中被使用来明确分隔命令行选项和随后的参数。
不可以将给 CMake 的选项写在 --
之前、给 Qt 的选项写在 --
之后,因为它们属于两个不同的构建系统,并且 --
有明确的作用,决定了哪些选项是传递给 Qt 配置脚本的,哪些是传递给 CMake 的。
关键点:
--
的作用:--
用来 分隔不同工具的选项。它告诉构建系统,接下来所有的选项都属于 CMake,而之前的选项则是给 Qt 配置脚本使用的。顺序和语法很重要:构建过程中的不同工具和脚本有不同的选项解析方式。Qt 配置脚本和 CMake 对选项的处理方式不同,因此它们的选项必须按正确的顺序传递。
为什么不可以调换位置?
Qt 配置选项 必须在
--
之前传递,因为它们是给 Qt 配置脚本 解析的,而 Qt 配置脚本并不理解 CMake 的选项(如-D
)。- Qt 配置选项通常是
-device-option
、-device
、-prefix
等,它们都是给 Qt 的构建系统使用的。
- Qt 配置选项通常是
CMake 配置选项 必须在
--
之后传递,因为 CMake 会解析-D
风格的选项(例如-DCMAKE_TOOLCHAIN_FILE
),它只理解 CMake 配置相关的选项。
错误示例:
如果你调换顺序,把给 CMake 的选项写在 --
之前,而给 Qt 的选项写在 --
之后:
在这种情况下,CMake 会试图解析 -device-option
、-device
等选项,但是这些是 Qt 配置脚本的选项,CMake 不理解它们,导致构建过程中的错误。
正确顺序:
正确的顺序应该是:
这样,--
前面的选项是 Qt 配置选项,--
后面的选项是 CMake 配置选项,每个构建工具会根据自己的需求正确地解析相应的选项。
总结:
--
必须位于 Qt 配置选项和 CMake 配置选项之间,这样才能正确地分隔两个构建工具的选项。- 如果你调换顺序,CMake 会错误地解析 Qt 配置选项,导致构建失败。
沒有留言:
張貼留言