是否可以将 C++11 参数传递给 Buildroot 配置?
Is possible to pass C++11 param to Buildroot config?
我想使用 -std=c++11 在 buildroot 中构建 boost 和其他包?
是否可以全局传递它,而不是通过修补程序 .mk 文件?
没有简单的方法来全局传递它,这是有充分理由的:某些包可能无法使用 C++11 构建,例如因为他们使用了新的保留字。
但是,如果您真的想冒险,您有以下三种选择:
将 -std=c++11
添加到 BR2_TARGET_OPTIMIZATION
(在工具链菜单中)。这将包含在工具链包装器中,因此用于每次编译。请注意,对于 C 程序,这会给您 "command line option ‘-std=c++11’ is valid for C++/ObjC++ but not for C" 警告。所以打包到 -Werror 的包会损坏。
修改package/Makefile.in,将-std=c++11
添加到TARGET_CXXFLAGS
。在这种情况下,它只传递给 C++ 编译。但是,TARGET_CXXFLAGS
只是传递给包构建系统,并非所有构建系统都接受它。
修改toolchain/toolchain-wrapper.c
以在调用g++时添加此选项。这没有其他两个的缺点,但需要更多的工作来实现。
我想使用 -std=c++11 在 buildroot 中构建 boost 和其他包? 是否可以全局传递它,而不是通过修补程序 .mk 文件?
没有简单的方法来全局传递它,这是有充分理由的:某些包可能无法使用 C++11 构建,例如因为他们使用了新的保留字。
但是,如果您真的想冒险,您有以下三种选择:
将
-std=c++11
添加到BR2_TARGET_OPTIMIZATION
(在工具链菜单中)。这将包含在工具链包装器中,因此用于每次编译。请注意,对于 C 程序,这会给您 "command line option ‘-std=c++11’ is valid for C++/ObjC++ but not for C" 警告。所以打包到 -Werror 的包会损坏。修改package/Makefile.in,将
-std=c++11
添加到TARGET_CXXFLAGS
。在这种情况下,它只传递给 C++ 编译。但是,TARGET_CXXFLAGS
只是传递给包构建系统,并非所有构建系统都接受它。修改
toolchain/toolchain-wrapper.c
以在调用g++时添加此选项。这没有其他两个的缺点,但需要更多的工作来实现。