使用B. Stroustrup的程序设计文字和第50页的“ hello world”程序会出现错误。 我的“ std_lib_facilities.h”包含文件有问题。

以root用户身份运行“ gcc hworld1.cpp”后,输出为-

In file included from /usr/include/c++/4.4/ext/hash_map:60,
             from std_lib_facilities.h:34,
             from hworld1.cpp:1:
/usr/include/c++/4.4/backward/backward_warning.h:28: warning: #warning This file     includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated.
/tmp/ccpwXUYx.o: In function `main':
hworld1.cpp:(.text+0x14): undefined reference to `std::cout'
hworld1.cpp:(.text+0x19): undefined reference to `std::basic_ostream<char,     std::char_traits<char> >& std::operator<< <std::char_traits<char>  >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/ccpwXUYx.o: In function `__static_initialization_and_destruction_0(int, int)':
hworld1.cpp:(.text+0x41): undefined reference to `std::ios_base::Init::Init()'
hworld1.cpp:(.text+0x46): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccpwXUYx.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status

关于如何修复文件的任何建议,也许注释掉哈希部分?

终于有时间开始很高兴,但这似乎比第一个故障排除任务要大一些。 我尝试仅使用iostream作为include。 我正在Ubuntu 11.04上运行它。 也许我需要更新gcc或使用g ++。 不知道有什么可以缓解我的困难。 我试着用...使用...作为我不记得的适当名称(哎呀),使用了“ using ... std”。 任何人都知道权利包括在内。

这是代码-

#include "std_lib_facilities.h"

int main()
{
    cout<<"hiya people\n";
    return 0;
}

===============>>#1 票数:6 已采纳

您应该使用g ++,因为gcc是C编译器(不是C ++)。

===============>>#2 票数:2

这应该解决它。

#include <iostream>

int main()
{
    std::cout <<"hello world!" << std::endl;
    return 0;
}

话虽如此,但本书可能出于某种原因希望您以某种方式进行。 这些错误是链接时间错误,在代码编译后,需要与其他已编译的代码以及头文件进行链接,并且应该有一个lib文件。 您需要将其添加为编译器参数。

编辑:经过进一步检查,似乎缺少的“链接”是标准库,这并不奇怪,因为您使用的是gcc而不是g ++,它将自动与stdlib链接。

===============>>#3 票数:1

请使用头文件iostream,而不要使用您正在使用的头文件。

还要确保使用g ++而不是gcc。 由于gcc是C编译器,而g ++是C ++

  ask by user916843 translate from so

未解决问题?本站智能推荐:

2回复

DDK“你好世界”

如何开始为Windows编写驱动程序? 那里有某种官方DDK“Hello World”的例子吗? 虽然我确信它最初会超越我的头脑,但最终我想创建一个简单的MIDI驱动程序,就像Maple Virtual MIDI Cable ,其中MIDI消息来自用户应用程序而不是物理设备。 (使
1回复

v8你好世界示例链接错误

我阅读了V8 hello world示例,并按照文档中的步骤成功构建了v8。 但是当我编译示例代码时,发生了链接错误。 这是我的计算机详细信息和错误提示。 操作系统Ubuntu 13.10 amd64 GCC(Ubuntu / Linaro 4.8.1-10
1回复

C ++你好世界不工作?

我是C ++的新手,我自学。 我正在使用code::blocks ,并有一个问题。 当我写下你好世界时,没有任何反应。 这是调试器窗口中的内容: 这是程序: 如果你需要它,这里是构建日志:
6回复

C ++打开窗口你好世界

你怎么能写一个C ++程序来打开像这样的窗口 ...... 是否可以或者只能从命令行运行应用程序? 我正在使用G ++编译器......我还需要像visual studio这样的东西吗? 我可以通过编写代码来实现吗?
4回复

那将是“你好,世界!” 例如“ std :: ref”?

有人可以举一个简单的例子演示std::ref的功能吗? 我的意思是一个示例,其中仅在无法解释没有它们的std::ref情况下,才使用其他一些构造(例如元组或数据类型模板)。 我发现了两个关于std::ref问题, 这里和这里。 但是在第一个中,它涉及到编译器中的错误;在第二个中,使用std::re
1回复

visual studio 2012你好世界c ++

刚刚安装了visual studio 2012终极试用版(沉闷和灰色!)。 但是在启动'空'c ++控制台项目并使用以下代码添加一个源文件之后: 我收到以下错误: 'Project3.exe'(Win32):已加载'C:\\ Users \\ baobei \\ Docu
2回复

MPI你好世界无法正常工作

我用MPI库在Visual c ++ 2010 express上编写了简单的hello-world程序,无法理解,为什么我的代码无法正常工作。 MPI_Send告诉我“ DEADLOCK:尝试在未事先匹配接收的情况下将消息发送到本地进程”。 如果我先写Recv,程序卡在那里(无数据,阻
3回复

打开MPI“你好,世界!”没有编译

这是一个简单的MPI“Hello,World!” 程序。 #include <stdio.h> #include <mpi.h> int main(int argc, char **argv) { int size, rank; MPI_Init(&am
5回复

在Windows中发出“你好,世界!”叮当声

我刚刚下载了CLang源代码,使用CMake创建了Visual C ++ 10 IDE工作区,并从Visual C ++ 10.0(快速)构建了所有内容。 现在,我在Hello World上收到一堆链接器错误: 那我该怎么办呢?
4回复

你好世界用boost python和python 3.2

所以我试图使用boost python来连接python 3.2和c ++,并且遇到了很多问题。 我终于使用2.7库进行编译了它的工作原理,但我似乎无法使用python 3.2。 这是c ++代码 如果我使用2.7库编译它可以正常工作,但是当我使用3.2库时,我从libboost