如何摆脱GCC中从字符串常量到'char *''警告的弃用转换?
所以我正在开发一个非常大的代码库,最近升级到gcc 4.3,它现在触发了这个警告: 警告:不推荐将字符串常量转换为'char *' 显然,解决这个问题的正确方法是找到每个声明 char *s = "constant string"; 或函数调用如: void foo(char *s); foo("constant string"); 并使它们成为 const char 指针。 但是,这意味着触及564个文件,最小,这不是我希望在此时执行的任务。 现在的问题是我正在运行 -werror ,所以我需要一些方法来扼杀这些警告。 我怎样才能做到这一点? #1楼 PyTypeObject PyDict_Type= { ... PyTypeObject PyDict_Type= { PyObject_HEAD_INIT(&PyType_Type), "dict", dict_print, 0, 0 }; 观看名称字段,在gcc中编译时没有警告,但在g ++中它会,我不知道为什么。 在 gcc (Compiling C) ,-Wno-write-strings默认是活动的。 in g++ (Compiling C++) Wwrite-strings默认是活动的 这就是为什么会有不同的行为。 对于我们来说,使用 Boost_python 宏 Boost_python 产生这样的警告。