将c++代码从MS Visual Studio移植到Linux,并处理类型化枚举
Porting C++ code from MS Visual Studio to Linux and dealing with typed enums
我正在移植用MS Visual Studio编写的代码。对于枚举,MS Visual Studio允许用户指定如下类型:
enum SystemStatus: BYTE {Ok = 0, NeedsAttention, Failed};
where 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中都可以编译。这个项目中枚举的数量是巨大的!!谢谢。
您使用的g++版本不支持c++11特性,例如扩展枚举。只要从源代码编译最新的g++,有一个帮助脚本可以下载gcc依赖项并为您构建它。
相关文章:
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- Linux 包管理器如何处理 C++20 个模块?
- Linux 中的信号处理程序使用 sigaction (C++)
- 跨平台套接字发送,Linux 上的缓冲区常量无效* Windows上的常量字符*,最佳处理方式
- 将托管事件处理程序传递给 Linux 中的非托管代码
- 当多个进程尝试同时替换同一文件时,Linux 如何处理这种情况?
- 如何在 c++ linux 中创建事件处理程序
- 如何在 Linux 用户空间中处理类似 GPIO 中断的处理
- Linux x64堆栈在信号处理程序内部展开,以修改返回地址
- 如何解决 Linux 计时器信号处理程序
- 如何用单个信号处理程序解决这个多linux定时器的问题
- 访问linux的OpenCV-2.4.3的OPENCV图像处理库
- 在Linux和Windows C 上处理的低级文件操作
- Linux上的静态Qt5构建:部署时如何处理字体
- OSX vs Linux:如何处理未签名的长和uint64_t
- 有必要在为Windows和Linux编写的程序中处理长数据类型吗
- Makefile在Windows和Linux下处理不同的源目录和对象目录
- 从 Linux 到 Windows 交叉编译时,我应该如何处理字符编码
- 如何在 Linux 上处理 C 或 C++ 中的箭头、PageUp、PageDown 键
- 如何在 linux 中对C++操作进行计时时处理缓存