当我尝试在旧Linux系统上使用boost时,我收到消息:
编译器未配置 - 请重新配置
我的gcc版本是:
gcc version 2.9-gnupro-99r1
在boost的gcc.hpp文件中,我看到:
// versions check:
// we don't know gcc prior to version 2.90:
#if (__GNUC__ == 2) && (__GNUC_MINOR__ < 90)
# error "Compiler not configured - please reconfigure"
#endif
那么,gcc 2.9和2.90实际上是一回事吗?如果是的话 - 我可以更新gcc.hpp吗?如果没有,我怎么还能使用boost?
编辑:
我实际上尝试将(__GNUC_MINOR__ < 90)
更改为(__GNUC_MINOR__ < 9)
。
似乎2.9和2.90不一样,因为现在我得到了编译错误。
似乎错误是因为此编译器不支持预处理器宏中的\
(行扩展名)字符。许多地方都会使用这些换行符。
答案 0 :(得分:2)
所有C和C ++编译器都支持自宏年以来的宏,所以这不是问题所在。我认为Boost不太可能支持2.9x编译器(但谁知道?) - 为什么不简单地升级编译器?海湾合作委员会现在的版本为4.5,所以你的版本已经过时了。
您可能还想查看this page,它记录了Boost的编译器支持。
答案 1 :(得分:2)
如果无法升级编译器,请降级源。不是非常明智的建议,但仍然可能有用。
Old Boost版本可在此处找到: http://sourceforge.net/projects/boost/files/
祝你好运!PS:如果是破坏你的换行符,也许你可以尝试删除它们(如果没有太多的话)