我想有条件地定义一个变量,然后可以在 C/C++ 源代码中使用该变量来有条件地编译一些代码,如下所示:
#ifdef MY_MESON_VARIABLE
// some code
#endif
如何从 Meson 构建系统代码中实际设置
MY_MESON_VARIABLE
,以便 C 预处理器可以访问它?我已经知道如何在 Meson 中进行流控制,所以我只需要知道如何设置预处理器变量。
Meson 允许您通过编译参数定义预处理器变量。为此,请使用 add_project_arguments 或 add_global_arguments,添加到 Meson.build:
add_project_arguments('-DMY_MESON_VARIABLE', language: 'c')
变量名前的-D告诉编译器定义指定的变量。
add_project_arguments 函数添加将应用于整个项目的编译参数。
这将使 MY_MESON_VARIABLE 可用于 C/C++ 源代码中的#ifdef。