Wie Sie die Version von meinem gcc?
In file included from /usr/include/c++/4.8.2/locale:41:0,
from /usr/include/c++/4.8.2/iomanip:43,
from [...omitted by myself as it is irrelevant]
/usr/include/c++/4.8.2/bits/locale_facets_nonio.h:59:39: error: ‘locale’ has not been declared
struct __timepunct_cache : public locale::facet
Oben ist der erste Fehler in meinem build-log.
Ich habe nicht versucht, Sie zum kompilieren von glibc/gcc mich, und ich Sie installiert per yum.
Einem fischig was ich gefunden habe ist:
$ ll /usr/include/c++/
total 4
drwxr-xr-x. 12 root root 4096 Dec 17 14:16 4.8.2
lrwxrwxrwx 1 root root 5 Dec 17 14:16 4.8.5 -> 4.8.2
$
- Und yum-zeigte nur 1 version von gcc:
$ yum info gcc-c++
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: centos.uhost.hk
* epel: mirrors.hustunique.com
* extras: centos.uhost.hk
* updates: centos.uhost.hk
Installed Packages
Name : gcc-c++
Arch : x86_64
Version : 4.8.5
Release : 4.el7
Size : 16 M
Repo : installed
From repo : base
Summary : C++ support for GCC
URL : http://gcc.gnu.org
License : GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2+ and BSD
Description : This package adds C++ support to the GNU Compiler Collection.
: It includes support for most of the current C++ specification,
: including templates and exception handling.
Jede Idee, wie Sie den Header in /usr/include/c++/4.8.2 ist in der Tat von 4.8.5-Paket?
Vielen Dank im Voraus.
P. S. ich denke wohl glibc ist irrelevant, aber hier ist die info:
$ ldd --version
ldd (GNU libc) 2.17
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
Fragen Sie über die glibc oder gcc? Der Frage-Titel stimmt mit der tatsächlichen Frage. Machen Sie Ihren Geist auf.
Geändert. Danke.
Geändert. Danke.
InformationsquelleAutor Hei | 2016-02-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den symlink auf die
4.8.2
Verzeichnis ist nichts zu befürchten, es ist normal, dass die libstdc++ - Headern, die auf Red Hat Enterprise Linux (und damit auch CentOS) angeordnet werden wie, die.gcc --version
wird Ihnen sagen, die version desgcc
ausführbare Datei in Ihrem Pfad.rpm -q libstdc++-devel
wird Ihnen sagen, die version des Pakets, der im Besitz der C++ standard library Header.rpm -ql libstdc++-devel
listet die Dateien installiert, indem das Paket, das die Dateien unter/usr/include/c++/4.8.2
rpm --verify libstdc++-devel
überprüfen, dass Sie noch nicht versaut der C++ - Header, indem Sie Sie mit etwas anderes.Den Fehler ist mehr über, das bedeutet, Sie haben Durcheinander gebracht etwas. Meine Vermutung wäre es in der
from [...omitted by myself as it is irrelevant]
Teil, der tatsächlich sehr relevant.std::locale
erklärt werden sollte in<bits/locale_classes.h>
enthalten ist, bevor<bits/locale_facets_nonio.h>
, also wenn es nicht erklärt, meine Vermutung ist, dass Sie einige header definiert_LOCALE_CLASSES_H
und verhindert, dass die standard library header nicht gelesen werden. Tun nicht definieren include-guards, die beginnen mit einem Unterstrich, Sie sind reservierte Namen.Dann machst du etwas falsch. Es sollte keine Fehler aus, einschließlich der standard-Header.
InformationsquelleAutor Jonathan Wakely
Ich bin nicht ganz sicher, aber unten ist mehr Informationen
Stackoverflow: version von libc
InformationsquelleAutor Mozfox
Da Sie mit Linux können Sie versuchen,
yum
, das ist ein package manager für Linux, also "wenn Sie mit Linux" war unnötig. Ich habe auch ein Beispiel für die Ausgabe des Befehls.Trotz der verwirrenden Titel der Frage nichts zu tun hat mit der glibc.
InformationsquelleAutor kiran