我正在移植使用MS Visual Studio编写的代码。对于枚举MS Visual Studio允许用户指定这样的类型:将C++代码从MS Visual Studio移植到Linux并处理键入的枚举
enum SystemStatus:BYTE {OK = 0,NeedsAttention,Failed};
这里字节是无符号的字符
参考http://msdn.microsoft.com/en-us/library/2dzy4k6e.aspx
这会导致错误,当我试着和G ++ 4.1.2版附带的RedHat 5.6编译代码。显然,新的C++标准C++ 0x支持强类型枚举:http://en.wikipedia.org/wiki/C%2B%2B0x#Strongly_typed_enumerations
有没有简单的方法来解决这个问题,并获得代码移植?如果可能的话,我们希望代码能够在Windows和Linux中编译。这个项目中的枚举数是巨大的!谢谢。
你必须使用这样一个旧的编译器吗? GCC 4.6.1在C++ 0x模式下接受这个。从源代码构建编译器也非常简单。 –
语法对于枚举非常简单,因此您可以使用图案化搜索和替换来处理源代码文件。 – QuentinUK
我可以移动到GCC 4.4的RHEL 6(或CentOS 6),那会有诀窍吗? –