【问题标题】:Is possible to pass C++11 param to Buildroot config?是否可以将 C++11 参数传递给 Buildroot 配置?
【发布时间】:2016-08-23 13:54:17
【问题描述】:

我想在 buildroot 中使用 -std=c++11 构建 boost 和其他软件包? 是否可以全局传递它,而不是通过修补程序 .mk 文件?

【问题讨论】:

    标签: c++ c++11 buildroot build-system


    【解决方案1】:

    没有简单的方法在全局范围内传递它,这是有充分理由的:某些包可能无法使用 C++11 构建,例如因为他们使用了新的保留字。

    但是,如果您真的想冒险,您有三个选择:

    • -std=c++11 添加到BR2_TARGET_OPTIMIZATION(在工具链菜单中)。这将包含在工具链包装器中,因此可用于每次编译。请注意,对于 C 程序,这将为您提供“命令行选项‘-std=c++11’对 C++/ObjC++ 有效,但对 C 无效”警告。所以到 -Werror 的包会坏掉。

    • 修改 package/Makefile.in 并将 -std=c++11 添加到 TARGET_CXXFLAGS。在这种情况下,它只传递给 C++ 编译器。但是,TARGET_CXXFLAGS 只是传递给包构建系统,并非所有构建系统都支持它。

    • 修改 toolchain/toolchain-wrapper.c 以在调用 g++ 时添加此选项。这没有其他两个的缺点,但需要更多的工作来实现。

    【讨论】:

      猜你喜欢
      • 2021-11-11
      • 1970-01-01
      • 2011-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-14
      • 2012-12-26
      • 1970-01-01
      相关资源
      最近更新 更多