【问题标题】:Accessing CONFIG_ macros in my source code在我的源代码中访问 CONFIG_ 宏
【发布时间】:2012-10-18 13:55:49
【问题描述】:

我正在使用 buildroot 创建一个 Linux 内核模块来执行交叉编译。我创建了一个 Config.in 文件来创建一些可选位,如下所示:

config BR2_PACKAGE_MYPACKAGE_OPTION1
    bool "Option 1"

在我的源代码中我会:

#ifdef CONFIG_BR2_PACKAGE_MYPACKAGE_OPTION1
#error Testing if symbol defined 
#endif

这不起作用,从 menuconfig 检查选项时,编译时未定义符号。该符号确实出现在顶级 .config 文件中。

我猜想 mypackage.mk 可以访问该符号,并且确实如此。我尝试将这些添加到 .mk 文件中,但尽管 TARGET_CFLAGS 和 EXTRA_CFLAGS 都被语句更改(通过 @echo 命令确认),但它们不会传递给编译器。

ifeq ($(BR2_PACKAGE_MYPACKAGE_OPTION1),y)
    TARGET_CFLAGS += -DCONFIG_BR2_PACKAGE_MYPACKAGE_OPTION1
endif

ifeq ($(BR2_PACKAGE_MYPACKAGE_OPTION1),y)
    EXTRA_CFLAGS += -DCONFIG_BR2_PACKAGE_MYPACKAGE_OPTION1
endif

如何访问源代码中的配置符号?

【问题讨论】:

    标签: buildroot


    【解决方案1】:

    我想出了一个可能的答案:

    将您感兴趣的内容传递给 mypackage.mk 文件中的 $(MAKE) 调用,然后您可以将它们传递给包 Makefile/Kbuild 文件中的编译器。

    【讨论】:

      猜你喜欢
      • 2013-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多