将C ++代码从MS Visual Studio移植到Linux并处理类型化枚举

时间:2011-08-15 01:18:39

标签: c++ linux enums g++

我正在移植使用MS Visual Studio编写的代码。对于枚举,MS Visual Studio允许用户指定如下类型:

enum SystemStatus:BYTE {Ok = 0,NeedsAttention,Failed};

其中BYTE是unsigned char

参考http://msdn.microsoft.com/en-us/library/2dzy4k6e.aspx

当我尝试使用RedHat 5.6附带的g ++版本4.1.2编译代码时,这会导致错误。显然,新的C ++标准C ++ 0x支持强类型枚举:http://en.wikipedia.org/wiki/C%2B%2B0x#Strongly_typed_enumerations

是否有一种简单的方法可以解决此问题并将代码移植到其中?如果可能的话,我们希望代码能够在Windows和Linux中进行编译。这个项目的枚举数量巨大!!感谢。

1 个答案:

答案 0 :(得分:1)

您使用的g ++版本不支持c ++ 11功能,例如扩展枚举。只需从源代码编译最新的g ++,就会有helper script下载gcc依赖项并为你构建它。