繁体   English   中英

将Boost与IAR的C ++编译器一起使用

[英]Using Boost with IAR's C++ compiler

我第一次为Boost进行嵌入式项目的测试。 我使用的IAR 7.60.2设置为C ++,标准,带有异常,带有RTTI和销毁静态对象。

我已经使用Boost 1.62.0复制粘贴了此Boost入门示例

您可能已经猜到这个问题的存在,但它无法构建(第一个错误是Error[Pe439]: expected a ">" ...\\boost_1_62_0\\boost\\type_traits\\remove_reference.hpp 30 )。

该行恰好包含一个右值引用,C ++ 03不支持。 Boost使用诸如T&&constexpr类的现代C ++构造会导致数百个错误。

毫不奇怪,IAR不是Boost声称对其进行测试的编译器之一,但是Boost可以与C ++ 11之前的编译器一起工作,并且在boost / predef中存在IAR专用标头的事实使我相信可能有一种方法可以构建它。

我已经搜索过SO,interweb和Boost的一些来源,但是我找不到有关如何将Boost与IAR一起使用的任何相关信息,所以我问:

1.我应该做些什么来帮助Boost识别我使用的IAR编译器及其局限性?

2.是否有一种机制可以强制Boost为C ++ 03编译器构建?

提前致谢。

上面@MSalter的评论摘要:

Boost是由不同的人(主要是志愿者)建立和维护的不同年龄的图书馆的集合。 一些库是为与C ++的较早版本一起使用而构建的,而另一些则需要较新的版本。

Boost具有一些通用的基础结构来控制某些设置。 如果Boost通用基础结构不支持某人正在寻找的设置(并且不支持“针对C ++ 03编译”),则给定库是否支持在C ++ 03下进行编译,将取决于创建它的时间以及/或是否经过专门设计。 Boost没有全局语言标准设置。

解决方案就是简单地尝试所讨论的功能,以查看它们是否在所使用的环境中正常工作。

感谢@MSalter的澄清。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM