Как включить hash_map в C++ 4.4.6?

Я использую hash_map в моем приложении C++. При сборке приложения с версией 4.1.2 сборка прошла успешно. Когда я пытаюсь собрать приложение с версией 4.4.6, оно выдает ошибку как

/include/c++/4.4.6/backward/backward_warning.h:28:2: error: #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++. Может ли кто-нибудь помочь мне с этим?

1 ответ

Предполагая, что вы используете GCC (g++), попробуйте добавить -std=c++0x в вашей командной строке, как говорится в сообщении, чтобы компилятор использовал C++11.

Другие вопросы по тегам