Boost 库在 SunOS/g++ 下无法编译:
我有个程序需要移植到 SunOS 下,移植过程中发现 boost 库在 SunOS/g++ 下无法通过编译,引入任何一个 boost 中定义的类都会带来许多错误,典型出错信息如下:
/usr/boost/boost/config/stdlib/sgi.hpp:27: Invalid token in expression
我简单查看了一下这些错误,它们都出现在 config 目录下的一些头文件中,看内容应该是一些根据不同的编译器、不同的平台调整代码的宏定义,例如(下面的代码对应上面的出错信息):
//
// No std::stringstream with gcc < 3
//
#if defined(__GNUC__) && (__GNUC__ < 3) && \
((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)) && \
!defined(__STL_USE_NEW_IOSTREAMS) || \
defined(__APPLE_CC__)
我是否忘记定义某些必须的选项?请有经验者指教。
操作系统:SunOS 5.8
g++:gcc version 2.95.2 19991024 (release)
boost:boost_1_27_0