编译webrtc audio_device提示的‘typeof’问题
2015-12-02 19:01
393 查看
在编译webrtc 的audio_device模块的时候,low_latency_event_posix.cc 文件中的
<span style="font-size:14px;">#define HANDLE_EINTR(x) ({ \
typeof(x) eintr_wrapper_result; \
do { \
eintr_wrapper_result = (x); \
} while (eintr_wrapper_result == -1 && errno == EINTR); \
eintr_wrapper_result; \
})
#define IGNORE_EINTR(x) ({ \
typeof(x) eintr_wrapper_result; \
do { \
eintr_wrapper_result = (x); \
if (eintr_wrapper_result == -1 && errno == EINTR) { \
eintr_wrapper_result = 0; \
} \
} while (0); \
eintr_wrapper_result; \
})</span>
提示typeof关键字找不到,无法编译通过
这是因为c++11 已经把typeof关键字改成了decltype
即可!如下-----
<span style="font-size:14px;">#define HANDLE_EINTR(x) ({ \
decltype(x) eintr_wrapper_result; \
do { \
eintr_wrapper_result = (x); \
} while (eintr_wrapper_result == -1 && errno == EINTR); \
eintr_wrapper_result; \
})
#define IGNORE_EINTR(x) ({ \
decltype(x) eintr_wrapper_result; \
do { \
eintr_wrapper_result = (x); \
if (eintr_wrapper_result == -1 && errno == EINTR) { \
eintr_wrapper_result = 0; \
} \
} while (0); \
eintr_wrapper_result; \
})</span>
<span style="font-size:14px;">#define HANDLE_EINTR(x) ({ \
typeof(x) eintr_wrapper_result; \
do { \
eintr_wrapper_result = (x); \
} while (eintr_wrapper_result == -1 && errno == EINTR); \
eintr_wrapper_result; \
})
#define IGNORE_EINTR(x) ({ \
typeof(x) eintr_wrapper_result; \
do { \
eintr_wrapper_result = (x); \
if (eintr_wrapper_result == -1 && errno == EINTR) { \
eintr_wrapper_result = 0; \
} \
} while (0); \
eintr_wrapper_result; \
})</span>
提示typeof关键字找不到,无法编译通过
这是因为c++11 已经把typeof关键字改成了decltype
即可!如下-----
<span style="font-size:14px;">#define HANDLE_EINTR(x) ({ \
decltype(x) eintr_wrapper_result; \
do { \
eintr_wrapper_result = (x); \
} while (eintr_wrapper_result == -1 && errno == EINTR); \
eintr_wrapper_result; \
})
#define IGNORE_EINTR(x) ({ \
decltype(x) eintr_wrapper_result; \
do { \
eintr_wrapper_result = (x); \
if (eintr_wrapper_result == -1 && errno == EINTR) { \
eintr_wrapper_result = 0; \
} \
} while (0); \
eintr_wrapper_result; \
})</span>
相关文章推荐
- WebRTC 初体验
- WebRTC 简介
- WebRTC起航篇,写在最前面的话
- SimplewebRTC使用指南
- simpleWebRTC:一种简单的开源网页音视频聊天室解决方案(一)
- 在ubuntu上编译WebRTC Android版本
- WebRTC现状及实现概要
- WebRTC 初览(1) 概述
- WebRTC 初览(2) getUserMedia 介绍一
- WebRTC 初览(2) getUserMedia 介绍二
- WebRTC环境搭建
- 高性能stun服务器搭建
- WebCallServer WebRTC with Asterisk
- Asterisk 11的Web RTC功能
- 最简单的WebRTC示例
- mac 下 webrtc 实现入门
- Mac Os 安装 node.js
- imageloader加载网络图片