我在我的C ++应用程序中使用hash_map。当我使用版本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此文件 需要编译器和库支持即将推出的ISO C ++ 标准,C ++ 0x。这种支持目前是实验性的,必须是 使用-std = c ++ 0x或-std = gnu ++ 0x编译器选项启用。
我只能看到/usr/include/c++/4.4.6/c++0x_warning.h
中的错误消息。
我是C ++的新手。有人可以帮我这个吗?
答案 0 :(得分:1)
假设您正在使用GCC(g++
),请尝试将-std=c++0x
添加到命令行,因为消息显示编译器使用C ++ 11。