google-breakpad在C++ 11下编译错误修改

我只用到了exception_handler模块,暂时还未用到Server模块,因为用到了C++ 11的一些特性,而google-breadpad还没有C++11版本,所以做了一些修改,集中在类型定义处

1.

typedef typeof(((struct user*) 0)->u_debugreg[0]) debugreg_t;

修改为

#if __cplusplus > 199711L
typedef std::remove_reference<decltype(((struct user*) 0)->u_debugreg[0])>::type debugreg_t;
#else
typedef typeof(((struct user*) 0)->u_debugreg[0]) debugreg_t;
#endif

2.

typedef typeof(((elf_aux_entry*) 0)->a_un.a_val) elf_aux_val_t;

修改为

#if __cplusplus > 199711L
typedef decltype(((elf_aux_entry*) 0)->a_un.a_val) elf_aux_val_t;
#else
typedef typeof(((elf_aux_entry*) 0)->a_un.a_val) elf_aux_val_t;
#endif

因C++11中用了decltype来声明类型,所以做了兼容

时间: 2024-09-20 05:12:12

google-breakpad在C++ 11下编译错误修改的相关文章

ubuntu 11.10(32位系统)下编译android源码 make错误解决办法

本文介绍在ubuntu 11.10系统下编译android 2.3.3源码,编译之前请确定上两篇文章(http://www.cnblogs.com/dwayne/archive/2011/11/16/2250732.html和http://www.cnblogs.com/dwayne/archive/2011/11/11/2245383.html)中所需的准备工作已经成功完成.编译完成生成系统镜像文件,并在模拟器中运行. 准备工作完成后,开始编译工作.下载下来的源码有5G多,如果按照我之前写的获

ubuntu 11.10(32位系统)下编译android源码

本文介绍在ubuntu 11.10系统下编译android 2.3.3源码,编译之前请确定上两篇文章(http://www.cnblogs.com/dwayne/archive/2011/11/16/2250732.html和http://www.cnblogs.com/dwayne/archive/2011/11/11/2245383.html)中所需的准备工作已经成功完成.编译完成生成系统镜像文件,并在模拟器中运行. 准备工作完成后,开始编译工作.下载下来的源码有5G多,如果按照我之前写的获

android2.3源码编译错误,Ubuntu14.0下

问题描述 android2.3源码编译错误,Ubuntu14.0下 make: *** [out/host/linux-x86/obj/EXECUTABLES/mksnapshot_intermediates/src/accessors.o] Error 1 这个问题有人知道怎么解决吗? 解决方案 请多给出一些错误信息吧,在这行之前应该还有其它的错误信息吧. 解决方案二: 查看具体错误信息,是否版本,os对应

ubuntu 下ndk编译错误

问题描述 ubuntu 下ndk编译错误 各位大牛请问在win7上装了ubuntu的拟虚现然后编译下载后的ndk里的hello-jni出现我以下 错误 [arm64-v8a] Compile : hello-jni <= hello-jni.c as: unrecognized option '-EL' make: *** [obj/local/arm64-v8a/objs/hello-jni/hello-jni.o] Error 1 解决方案 NDK C++ 编译错误NDK编译错误 解决方案二

maven问题,编译错误,谁帮忙看下谢了

问题描述 maven问题,编译错误,谁帮忙看下谢了 D:codemaven01srcmainjavacomimoocmaven01model 里面有java文件如下 package com.imooc.maven01.model; public class HelloWorld{ public String sayHello(){ return "Hello World"; } } D:codemaven01srctestjavacomimoocmaven01model import

file-solaris下编译的程序执行是出现段错误

问题描述 solaris下编译的程序执行是出现段错误 编译器版本Reading specs from /usr/sfw/lib/gcc/sparc-sun-solaris2.10/3.4.3/specs Configured with: /sfw10/builds/build/sfw10-patch/usr/src/cmd/gcc/gcc-3.4.3/configure --prefix=/usr/sfw --with-as=/usr/ccs/bin/as --without-gnu-as --

gtk+-在ubuntu下编译一个开源软件,./configure时出现错误,求指教

问题描述 在ubuntu下编译一个开源软件,./configure时出现错误,求指教 显示的错误: checking for libgnome-2.0 >= 2.0.0 libgnomeui-2.0 >= 2.0.0 gtk+-2.0 >= 2.4.0 gnome-vfs-2.0 >= 2.6.0 libglade-2.0 >= 2.3.6... Package libgnome-2.0 was not found in the pkg-config search path.

图像处理问题:在跑有关图像处理的代码时在linux下编译时出现错误如下

问题描述 图像处理问题:在跑有关图像处理的代码时在linux下编译时出现错误如下 应该怎样修改? 解决方案 源代码有问题,如果不是源代码的问题就是缺少头和库,或者头和库的路径没有被添加到编译器的路径中.先看下出错的源代码文件的出错行,找到对应函数所用的头和库. 解决方案二: 你是不是调用了别的库?我看应该是你代码中用了别的库,但是没有用对.

在ubuntu12.04 64位下编译从github上下载的android系统最新源码,出现编译错误

问题描述 在ubuntu12.04 64位下编译从github上下载的android系统最新源码,出现编译错误 在ubuntu12.04 64位下编译从github上下载的android系统最新源码,出现编译错误 make: *** 没有规则可以创建"out/build-full.ninja"需要的目标"prebuilts/build-tools/linux-x86/bin/ckati". 停止. 耗费了2天了还没解决,急 解决方案 http://zhidao.ba