如何在Meson中读取自定义命令行变量?报未知选项USE_CAIRO错误
在Meson中使用自定义命令行变量的正确方法
你遇到的ERROR: Unknown options: "USE_CAIRO"错误,是因为Meson无法识别未预先定义的自定义选项。必须先在meson.build里显式声明这个选项,才能通过命令行传递值并读取。
修改后的meson.build代码
project('coolproject', 'c', version : '1.0.0.0', default_options : ['warning_level=3']) # 声明自定义选项:指定类型、默认值和描述 option('USE_CAIRO', type : 'boolean', value : false, description : '启用Cairo库支持') # 注意:get_option返回的是布尔值,需要用str()转换为字符串后再拼接 message('USE_CAIRO=' + str(get_option('USE_CAIRO')))
命令行使用方式
保持你原来的命令即可,现在Meson能识别USE_CAIRO选项了:
meson setup -DUSE_CAIRO=TRUE --reconfigure
补充说明
option()函数的type参数支持boolean、string、integer等类型,可根据需求选择;value是选项的默认值,命令行不传递该选项时会使用这个值;- 运行
meson configure可以查看所有已定义的选项(包括自定义的USE_CAIRO)及其描述。
内容的提问来源于stack exchange,提问作者Joel
相关产品推荐
相关产品推荐

