【发布时间】:2017-10-12 04:55:33
【问题描述】:
我的问题是我根本无法用 g++ 编译 Hello World 程序
#include <iostream>
using namespace std;
int main(void) {
cout << "Hello World!" << endl;
return 0;
}
编译器给了我消息:
evgeny@debian:~/Documents/Programming$ g++ test.cpp -o test
In file included from /usr/include/c++/4.9/clocale:42:0,
from /usr/include/x86_64-linux-gnu/c++/4.9/32/bits/c++locale.h:41,
from /usr/include/c++/4.9/bits/localefwd.h:40,
from /usr/include/c++/4.9/ios:41,
from /usr/include/c++/4.9/ostream:38,
from /usr/include/c++/4.9/iostream:39,
from test.cpp:1:
/usr/include/locale.h:29:25: fatal error: bits/locale.h: No such file or directory
#include <bits/locale.h>
^
compilation terminated.
我已经安装了 libstdc++-developer,尝试使用 -I/way-to-the-missing-lib、不同的架构键等,但效果不佳。
架构信息 Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u5 (2017-09-19) x86_64 GNU/Linux
操作系统 Debian 8.9
g++ 版本 g++ (Debian 4.9.2-10) 4.9.2
已安装的包列表:
evgeny@debian:~$ dpkg --list | grep c++
ii lib32stdc++-4.9-dev 4.9.2-10 amd64 GNU Standard C++ Library v3 (development files)
ii lib32stdc++6 4.9.2-10 amd64 GNU Standard C++ Library v3 (32 bit Version)
ii libflac++6:amd64 1.3.0-3 amd64 Free Lossless Audio Codec - C++ runtime library
ii libgpgme++2 4:4.14.2-2+deb8u2 amd64 c++ wrapper library for gpgme
ii libsigc++-2.0-0c2a:amd64 2.4.0-1 amd64 type-safe Signal Framework for C++ - runtime
ii libstdc++-4.9-dev:amd64 4.9.2-10 amd64 GNU Standard C++ Library v3 (development files)
ii libstdc++6:amd64 4.9.2-10 amd64 GNU Standard C++ Library v3
ii libx32stdc++-4.9-dev 4.9.2-10 amd64 GNU Standard C++ Library v3 (development files)
ii libx32stdc++6 4.9.2-10 amd64 GNU Standard C++ Library v3 (x32)
有什么想法吗?我希望解决方案很明显,提前谢谢你。
【问题讨论】:
-
为什么今天需要
-m32? -
哦,为什么大家都关注无关紧要的事情,我已经删除了它,因为在这种情况下无关紧要。如果你有兴趣,我比较汇编器列表,没有别的
-
你安装了什么版本的 Debian,什么架构,什么包?
-
那么请编辑您的问题并说出重要的事情,包括您已安装的 C++ 相关软件包。
build-essential用于 C 程序,而不是 C++ 程序 -
我已添加信息