先说下系统版本:电脑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还是修改程序呢?