Я использую hash_map в моем приложении C ++. При сборке приложения с версией 4.1.2 сборка прошла успешно. Когда я пытаюсь собрать приложение с версией 4.4.6, оно выдает ошибку как
/include/c++/4.4.6/backward/backward_warning.h:28:2: ошибка: #warning
Этот файл содержит как минимум один устаревший или устаревший заголовок, который
могут быть удалены без дальнейшего уведомления в будущем. Пожалуйста, используйте
не осуждаемый интерфейс с эквивалентной функциональностью. Для
список сменных заголовков и интерфейсов, обратитесь к файлу
backward_warning.h. Чтобы отключить это предупреждение, используйте -Wno-deprecated.
Основываясь на предложении я посмотрел на /usr/include/c++/4.4.6/backward/backward_warning.h
и изменил hash_map
в unordered_map
,
Теперь я получаю следующую ошибку,
/include/c++/4.4.6/c++0x_warning.h:31:2: error: #error Этот файл
требует поддержки компилятора и библиотеки для предстоящего ISO C ++
стандарт, C ++ 0x. Эта поддержка в настоящее время является экспериментальной и должна быть
включается с помощью параметров компилятора -std = c ++ 0x или -std = gnu ++ 0x.
Я вижу только сообщение об ошибке в /usr/include/c++/4.4.6/c++0x_warning.h
,
Я довольно новичок в C ++. Может ли кто-нибудь помочь мне с этим?
Предполагая, что вы используете GCC (g++
), попробуйте добавить -std=c++0x
в вашей командной строке, как говорится в сообщении, чтобы компилятор использовал C ++ 11.
Других решений пока нет …