将 GCC 从 4.1.2 迁移到 6.2.0,以及从 RHEL 5.5 迁移到 CentOS 7.2
Migrating GCC from 4.1.2 to 6.2.0 and from RHEL 5.5 to CentOS 7.2
我有 GCC 4.1.2 的 RHEL,我的C++代码正在按预期编译。但是当我尝试使用 GCC 7.2.2 在 CentOS 6.2.0 上编译时,相同的代码失败并显示以下错误:
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
不是一种选择
编辑
是的,它是字符串。
也许我应该把它表述为第二种选择,而不是一个选项
在开始代码迁移之前,我需要排除编译器选项的任何可能性,以使其按原样工作。
如果需要,我可以安装额外的库并更改其编译方式。实际上没有编辑代码。
我包括以下头文件: 刺痛
字符串?
知道如何让它只与字符串包含文件一起工作吗?
您可以创建一个虚拟string
文件,并将其与其他标头一起存储。例如,在你做的string
里面
#include <string.h>
迁移代码库以包含 string.h 或 cstring 不是一个选项
请注意,如果您无法将代码修改到如此小的程度,则很可能无法将代码移植到 6.2。 4.1 和 6.2 相隔 10 年,因此您的代码肯定需要更改/修复才能与较新的编译器一起使用。
相关文章:
- 将项目从 Debian 8 Xenomai 2.x 迁移到 Debain 9 Xenomai 3.x
- 包含文件 <sched_yield.h>在我的 RHEL 5 上找不到
- 从 MFC C++ 6.0 应用程序迁移到 VS 2005
- 将预处理器配置定义迁移到 constexpr,而不会造成内存膨胀
- 如何在 MSVC C++中迁移 x64 的 x86 代码
- "acceptor"在从TCP迁移到UDP时不是"boost::asio::ip::udp
- 将代码从 32 位迁移到 64 位时出现问题 Visual Studio 2010
- 如何在新设计中迁移需要几个额外参数的函数
- 如何将 C 函数指针迁移到C++?
- WDK 如何迁移到 v4 打印机驱动程序
- 迁移到 Visual Studio 2015 时 ATL 不起作用
- 从 calloc() 迁移到 new
- 如何将C++项目从 32 位迁移到 64 位以支持 MAC OS 10.14(莫哈韦)?
- 从固定函数迁移到 GLSL OpenGL:我应该如何修改我的视图(lookAt)矩阵和透视矩阵?
- C++从多线程 CPU 程序迁移到 GPU
- 自从迁移到 64 位以来,我在随机 glVertexAttribArray 调用中收到来自 nvoglv64.dll 的
- 如何管理和迁移C++库?
- 光纤可以在线程之间迁移吗?
- 将缓存线迁移到另一个核心
- 将 GCC 从 4.1.2 迁移到 6.2.0,以及从 RHEL 5.5 迁移到 CentOS 7.2