[解決済み] 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
上記は、私のビルドログの最初のエラーです。
glibc/gccは自分でコンパイルしようとせず、yumでインストールしました。
一つあやしいことがありました。
$ 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
$
そして、yumはgccのバージョンを1つだけ表示しました。
$ 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.
usr/include/c++/4.8.2 のヘッダーが本当に 4.8.5 パッケージのものであるか確認する方法を教えてください。
よろしくお願いします。
P.S. おそらくglibcは関係ないと思いますが、以下はその情報です。
$ 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.
解決方法は?
へのシンボリックリンクは
4.8.2
Red Hat Enterprise Linux (つまり CentOS) の libstdc++ ヘッダーはこのように配置されるのが普通です。
gcc --version
のバージョンが表示されます。
gcc
を実行することができます。
rpm -q libstdc++-devel
は、C++標準ライブラリヘッダを所有するパッケージのバージョンを示します。
rpm -ql libstdc++-devel
はそのパッケージによってインストールされたファイルの一覧を表示し、その中には
/usr/include/c++/4.8.2
rpm --verify libstdc++-devel
は、C++ ヘッダを他のものに置き換えて台無しにしていないことを確認します。
このエラーは、あなたが
何か
をアップします。私の推測では、その原因は
from [...omitted by myself as it is irrelevant]
の部分は、実はとても重要かもしれません。
std::locale
を宣言する必要があります。
<bits/locale_classes.h>
の前に含まれる
<bits/locale_facets_nonio.h>
ということは、もし宣言されていないのであれば、何らかのヘッダを定義しているのでしょう。
_LOCALE_CLASSES_H
で、標準ライブラリのヘッダを読めないようにしています。行う
ない
はアンダースコアで始まるインクルードガードを定義しています。
予約名
.
関連
-
[解決済み】Visual Studio 2015で「非標準の構文; '&'を使用してメンバーへのポインターを作成します」エラー
-
[解決済み】エラー:strcpyがこのスコープで宣言されていない
-
[解決済み】C++ - 適切なデフォルトコンストラクタがない [重複]。
-
[解決済み] explicit キーワードの意味は?
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] ルール・オブ・スリーとは?
-
[解決済み] なぜGCCはa*a*a*a*aを(a*a*a)*(a*a*a)に最適化しないのでしょうか?
-
[解決済み] g++とgccの違いは何ですか?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] テスト
-
[解決済み】C++エラー。アーキテクチャ x86_64 に対して未定義のシンボル
-
[解決済み】C++ クラスヘッダが含まれているときに「不明な型」があるのはなぜですか?重複
-
[解決済み】C++でint型に無限大を設定する
-
[解決済み】c++でstd::vectorを返すための効率的な方法
-
[解決済み】#include<iostream>は存在するのですが、「識別子 "cout "は未定義です」というエラーが出ます。なぜですか?
-
[解決済み】C++の余分な資格エラー
-
[解決済み】クラステンプレートの使用にはテンプレート引数リストが必要です
-
[解決済み】エラー。引数リストに一致するコンストラクタのインスタンスがない
-
[解決済み] C++の識別子でアンダースコアを使用する場合のルールについて教えてください。