Как включить 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.