Миграция GCC с 4.1.2 до 6.2.0 и с RHEL 5.5 на CentOS 7.2

У меня есть RHEL с GCC 4.1.2, и мой код C ++ компилируется, как и ожидалось. Но тот же код, когда я пытаюсь скомпилировать в CentOS 7.2 с GCC 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 это не вариант

РЕДАКТИРОВАТЬ

Да, это была строка.

Может быть, я должен был сформулировать это как второй вариант вместо не вариант

Перед началом миграции кода мне нужно исключить любую возможность параметров компилятора, чтобы она работала как есть.

Я могу установить дополнительные библиотеки при необходимости и изменить способ компиляции. Не на самом деле редактирование кода.

0

Решение

Я включаю ниже заголовочный файл:
ужалить

строка?

Любая идея, как заставить это работать только с включаемым файлом строки?

Вы можете создать манекен string файл и сохранить его с другими заголовками. внутри string ты к примеру

#include <string.h>

Перенос базы кода для включения string.h или cstring не возможен

Обратите внимание, что вы, скорее всего, не сможете портировать свой код на 6.2, если не сможете изменить его даже в такой небольшой степени. 4.1 и 6.2 являются 10 лет, так что ваш код будет определенно требовать изменений / исправлений для работы с новым компилятором.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]