当我尝试在旧的 Linux 系统上使用 boost 时,我收到消息:
编译器未配置 - 请重新配置
我的gcc版本是:
gcc 版本 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 不一样,因为现在我收到编译错误。
这些错误似乎是因为该编译器不支持预处理器宏中的
\
(行扩展)字符。 boost 在很多地方都使用了这些换行符。
如果无法升级编译器,请降级源。这并不是非常明智的建议,但仍然可能有效。
旧的 Boost 版本可以在这里找到: http://sourceforge.net/projects/boost/files/
祝你好运!
PS:如果是换行符害死你,也许你可以尝试删除它们(如果没有太多)
自年点起,所有 C 和 C++ 编译器都支持宏中的 \,因此这不是问题。我认为 Boost 不太可能支持 2.9x 编译器(但谁知道呢?)——为什么不简单地升级编译器呢? GCC 现在是 4.5 版本,所以你的版本已经过时了。
您可能还想查看此页面,其中记录了 Boost 的编译器支持。