如何在 Meson 中定义 C/C++ 预处理器变量?

问题描述 投票:0回答:1

我想有条件地定义一个变量,然后可以在 C/C++ 源代码中使用该变量来有条件地编译一些代码,如下所示:

#ifdef MY_MESON_VARIABLE
    // some code
#endif

如何从 Meson 构建系统代码中实际设置

MY_MESON_VARIABLE
,以便 C 预处理器可以访问它?我已经知道如何在 Meson 中进行流控制,所以我只需要知道如何设置预处理器变量。

c++ c c-preprocessor meson-build
1个回答
0
投票

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。

© www.soinside.com 2019 - 2024. All rights reserved.