很抱歉最有可能出现'新手'的问题,但我在code :: blocks中运行C ++代码时遇到了一些问题。关于我当时正在做的事情,我基本上都在关注Bjarne Stroustrup的“编程:使用C ++的原理和实践”。我真的只是开始这本书,为此我在Ubuntu 12.04上使用code :: blocks。无论如何,对于第一个hello world示例,我做了以下内容:
首先建立一个新项目 - >选定的控制台应用程序 - >选择C ++作为我的语言 - >输入项目名称 - >选择的GNU GCC编译器(通过阅读和搜索这可能是问题) - >最后输入了代码。
我还确保正确下载并保存'std_lib_facilities.h'头文件。完成所有这些后,我输入了简单的hello world代码,如下所示。在构建代码时,它产生了以下警告(尽管没有错误):'#warning这个文件包含至少一个可以删除的已弃用或复古的标题......'点击它时会将我引向'backward_warning.h'。但是,我仍然可以运行生成hello世界的代码,使它看起来很好,就像它应该的那样。这可能意味着我没有问题,但是警告仍然存在,我只是想知道是否有修复或甚至意味着什么都有问题,因为我不想在后面的例子中找到这个证明成为一个问题。这可能看起来都是一个愚蠢的问题,但我是C ++的新手,对于一般的编程来说仍然很新,所以提前道歉。这是我的代码:
#include "../std_lib_facilities.h"
int main()
{
cout<<"Hello World";
return 0;
}
答案 0 :(得分:2)
很可能是<hash_map>
或<ext/hash_map>
。
替换将是C ++ 11的<unordered_map>
,或C ++ 03&#39} {。}}。
如果您正在使用GCC,则可以通过添加<tr1/unordered_map>
编译标志来访问C ++ 11功能。这样您就可以使用std=c++0x
。
答案 1 :(得分:0)
本书中的示例可能对您的Ubuntu而言非常老旧。尝试用新的标题替换已弃用的标题。
答案 2 :(得分:0)
这个简单的“Hello World”应用程序只需要一个include指令:
#include <iostream>
我建议在您需要之前避免使用“std_lib_facilities.h”。