Chinaunix首页 | 论坛 | 博客
  • 博客访问: 800994
  • 博文数量: 247
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 501
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-12 21:53
个人简介

系统未建立

文章分类

全部博文(247)

文章存档

2021年(1)

2020年(3)

2019年(5)

2018年(3)

2017年(44)

2016年(75)

2015年(52)

2014年(63)

2013年(1)

我的朋友

分类: LINUX

2017-04-24 16:03:37

error: deprecated conversion from string constant to ‘char*’ [-Werror=write-strings]问题解决
最近写了1份cpp代码,在低版本的32位机器上,没有问题;
但放到高版本64位机器运行就抱错
error: deprecated conversion from string constant to ‘char*’ [-Werror=write-strings]
cc1plus: all warnings being treated as errors
这个反馈很奇怪,检查代码,把所有可能的字符串类型,全部加上(char*)强制转换搞定。
究其原因,C++对参数类型有了更严格的校验,常量const类型,是不允许被修改的,所以,将常量当作变量传递参数,就会出现这个告警错误。
而C在这方面要求相对比较松。

低版本的32位机器上
Linux version 2.6.18-194.el5PAE (--@x86-007.build.bos.redhat.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Tue Mar 16 22:00:21 EDT 2010
 gcc --version
gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48)
Copyright (C) 2006 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。

高版本64位机器
Linux version 3.10.0-121.el7.x86_64 (--@x86-021.build.eng.bos.redhat.com) (gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) ) #1 SMP Tue Apr 8 10:48:19 EDT 2014
gcc --version
gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-16)
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
阅读(1661) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~