gcc版本不同导致的编译错误?

先说下系统版本:电脑A是redhat5.1(虚拟机安装),电脑B是ubuntu10(虚拟机安装)。

程序在电脑A上编译通过,运行没有问题。但是相同的程序移到电脑B上就出现了编译错误。错误如下:

AnlyseXML.cpp: In member function  CAnlyseXML::GetNodeValue(const char*, const char*, char*)?
AnlyseXML.cpp:26: error: invalid conversion from const char*?to char*?
AnlyseXML.cpp:32: error: invalid conversion from const char*?to char*?
make: *** [AnlyseXML.o] Error 1

第26行和32行代码: const char *sXML

pDest = strstr(sXML,sStart);

pDest = strstr(sXML,sStop);

可见,报的错误是说const char *到char*的转换无效。

电脑A的gcc版本是4.12,电脑B的gcc版本是4.4.3。网上说gcc4.4更符合标准,但是这里确遇到了问题。是安装一个低级版本的gcc还是修改程序呢?

你可能感兴趣的:(Linux)