Command line 如何使用介子设置基本选项?

Command line 如何使用介子设置基本选项?,command-line,command-line-arguments,meson-build,buildconfiguration,Command Line,Command Line Arguments,Meson Build,Buildconfiguration,我正在尝试用介子配置一个项目。具体来说,我正在尝试设置一些选项 介子配置告诉我: Core options: Option Current Value Possible Values Description ------ ------------- ---------------

我正在尝试用介子配置一个项目。具体来说,我正在尝试设置一些选项

介子配置
告诉我:

Core options:
  Option          Current Value Possible Values                                          Description                                             
  ------          ------------- ---------------                                          -----------                                             
  buildtype       debug         [plain, debug, debugoptimized, release, minsize, custom] Build type to use                                       

Base options:
  Option      Current Value Possible Values                                               Description                                   
  ------      ------------- ---------------                                               -----------                                   
  b_lto       false         [true, false]                                                 Use link time optimization                    
(当然,其他选项已从该打印输出中删除。)

因此,我写道:

meson build . --buildtype=release
在我的构建目录中,这一切正常-没有警告或错误(我仔细检查了选项值是否已更改)。然后我写:

meson build . --b_lto=true
但这让我明白:

meson: error: unrecognized arguments: --b_lto=true
我还尝试了
-b_lto=true
-b_lto-true
b_lto=true
b_lto-true
。以及所有没有
true
值的。不走运

那么如何设置这些“基本选项”?传递参数的
--option=value
--option-value
样式仅适用于…中的通用选项部分,因此不适用于基本选项和其他。而是使用
-Doption=value
语法来设置选项。这是建议的方法,因为
介子设置--help
声明
[-D option]
用于设置各种选项。请看介子小组的报道。因此,在您的情况下,请运行:

meson build . -Db_lto=true
但是,最好使用这种排序,因为手册中规定了这种排序方式(
manmeson

如果自上次配置后生成目录发生了更改,请改用
reconfigure

meson reconfigure build -Db_lto=true
或者明确地说:

meson setup --reconfigure -Db_lto=true build

@你能发一个关于这个问题的链接吗?还有,回答这个问题?介子团队告诉我,实际上,
--option=value
--option-value
类型的参数传递只适用于
通用选项中的信息,而不适用于其他对象组,手册在这方面没有明确规定。我将(再次)更改我的答案以反映他的信息。为什么
重新配置
而不是
配置
重新配置
用于更改已存在的生成目录<代码>介子配置
仅显示当前设置,据我所知。好的,我重新阅读了手册的这一部分。实际上,在许多情况下,
configure
reconfigure
也会这样做。只有在上次配置后引入了新选项时,仅
meson configure build-D option=value
可能不允许设置此新选项、
reconfigure
,以及显式
meson setup--reconfigure
do。
meson reconfigure build -Db_lto=true
meson setup --reconfigure -Db_lto=true build