我有 GCC 4.1.2 的 RHEL,并且我的 C++ 代码正在按预期编译。但是当我尝试使用 GCC 6.2.0 在 CentOS 7.2 上编译时,相同的代码会失败并出现以下错误:
compiling UpcSummarization.o ...
UpcSummarization.cpp: In member function âvoid UpcSummarization::LoadUpcList(std::__cxx11::string)â:
UpcSummarization.cpp:480:40: error: âmemsetâ was not declared in this scope
memset(&pBuffer, 0, sizeof(100));
^
我包括以下头文件:
string
如果我包括string.h
或cstring
它将通过。
知道如何使其仅与string
包含文件一起使用吗?迁移代码库以包含string.h
或cstring
不包含选项
编辑
是的,它是字符串。
也许我应该将其表述为第二个选项而不是不是一个选项
在开始代码迁移之前,我需要排除编译器选项使其按原样工作的任何可能性。
如果需要,我可以安装额外的库并更改它的编译方式。实际上没有编辑代码。