【发布时间】:2011-12-11 19:25:46
【问题描述】:
使用 B. Stroustrup 的 Programming text 和关于 pg 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 作为包含。我在 Ubuntu 11.04 上运行它。也许我需要更新 gcc 或使用 g++。不知道什么可以让我通过这个。我尝试了一些使用 'using ... std' 和 ... 作为我不记得的适当名称的东西(哎呀)。任何人都知道正确的包括。
这里是代码 -
#include "std_lib_facilities.h"
int main()
{
cout<<"hiya people\n";
return 0;
}
【问题讨论】:
-
使用
g++编译和链接C++。 -
@Mark: Stroustrup 有more than one book。
-
请不要以 root 身份进行操作。
标签: c++