cenos upgrade g++ gcc(cc1plus: error: unrecognized command line option "-std=c++11")
2022-02-10 15:05:10
g++」でビルドしています。
mexを使用したエラー
cc1plus: error: unrecognized command line option "-std=c++11"
1. ソースコードのダウンロード
別のバージョンが必要な場合は、バージョン番号を変更するだけで、GCCのウェブサイトをチェックできます。
$ wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz
2. 依存関係パッケージのダウンロードとプレインストール
GCCのコンパイルとインストールには、mpc, mpfr, gmp パッケージの依存関係が必要です。良いことに、GCC のソースコードには依存関係を簡単にダウンロードするためのスクリプトが付属しています。
$ tar zxf gcc-4.8.5.tar.gz
$ cd gcc-4.8.5
$ . /contrib/download_prerequisites
4. コンパイルとインストール
$ cd . //これを行う主な理由は、ビルドフォルダをソースコードの外側に作成するためです。
$ mkdir gcc-build-4.8.5
$ mkdir /usr/local/gcc-4.8.5 // インクルードファイルが配置される。
$ mkdir /usr/local/gcc // bin + lib ファイルが配置されています。
$ cd gcc-build-4.8.5
$ ... /gcc-4.8.5/configure --prefix=/usr/local/gcc-4.8.5 --exec-prefix=/usr/local/gcc --enable-languages=c,c++ //時間節約のため、ここでcとc++だけコンパイルする。
$ make && make install
インストール後に複数のバージョンのGCCがシステム上に存在するのを避けるため、コンパイルとインストールを行うディレクトリを/usr/local/gcc-4.8.5と/usr/local/gccに直接指定します。-prefixを指定しない場合、デフォルトは/usr/localになります。
待機中
後で作る、長い待ち時間、完了
5. 環境変数の設定
gcc/g++の名前を変更し、古いバージョンのままにしておきます。
$ mv /usr/bin/gcc /usr/bin/gcc-4.4.7
$ mv /usr/bin/g++ /usr/bin/g++-4.4.7
$ export PATH=/usr/local/gcc/bin:$PATH # 最新のgcc/g++を使用します。
バージョン番号の確認
$ g++ --バージョン
$ gcc --バージョン
$ which g++
$ どのgcc
エラー
1. Build フォルダが間違った場所に作成された stubs-32.h が見つからない、CentOS は 64 ビットです。
コンパイルは終了しました。
make[5]: *** [_muldi3.o] エラー1
make[5]: ディレクトリ `/home/wei/gcc-4.8.5/gcc-build-4.8.5/x86_64-unknown-linux-gnu/32/libgcc' から退出する。
............
解決方法 32ビットのglibc-develをインストールし、その後に特定のソフトウェアのマルチバージョン問題を無視するための引数を指定します。
$ yum -y install glibc-devel.i686 --setopt=protected_multilib=false
このエラーの主な原因は、新しいビルドフォルダーがソースツリー内にあるため、別のフォルダーを使用する必要があることです。 解決策は、新しいフォルダーがソースコードの外に作成され、解決されたコードがそれに更新されたことです。
第一に、わたしたちは、GCCをソースツリー内に存在しない、ソースとは別のディレクトリにビルドすることを強く推奨します。
mexを使用したエラー
cc1plus: error: unrecognized command line option "-std=c++11"
1. ソースコードのダウンロード
別のバージョンが必要な場合は、バージョン番号を変更するだけで、GCCのウェブサイトをチェックできます。
$ wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz
2. 依存関係パッケージのダウンロードとプレインストール
GCCのコンパイルとインストールには、mpc, mpfr, gmp パッケージの依存関係が必要です。良いことに、GCC のソースコードには依存関係を簡単にダウンロードするためのスクリプトが付属しています。
$ tar zxf gcc-4.8.5.tar.gz
$ cd gcc-4.8.5
$ . /contrib/download_prerequisites
このスクリプトでは、依存パッケージのバージョン番号が順に mpc-0.8.1、mpfr-2.4.2、gmp-4.3.2 であることが確認できます。
3. $ yum -y install glibc-devel.i686 --setopt=protected_multilib=false
4. コンパイルとインストール
$ cd . //これを行う主な理由は、ビルドフォルダをソースコードの外側に作成するためです。
$ mkdir gcc-build-4.8.5
$ mkdir /usr/local/gcc-4.8.5 // インクルードファイルが配置される。
$ mkdir /usr/local/gcc // bin + lib ファイルが配置されています。
$ cd gcc-build-4.8.5
$ ... /gcc-4.8.5/configure --prefix=/usr/local/gcc-4.8.5 --exec-prefix=/usr/local/gcc --enable-languages=c,c++ //時間節約のため、ここでcとc++だけコンパイルする。
$ make && make install
インストール後に複数のバージョンのGCCがシステム上に存在するのを避けるため、コンパイルとインストールを行うディレクトリを/usr/local/gcc-4.8.5と/usr/local/gccに直接指定します。-prefixを指定しない場合、デフォルトは/usr/localになります。
待機中
後で作る、長い待ち時間、完了
5. 環境変数の設定
gcc/g++の名前を変更し、古いバージョンのままにしておきます。
$ mv /usr/bin/gcc /usr/bin/gcc-4.4.7
$ mv /usr/bin/g++ /usr/bin/g++-4.4.7
$ export PATH=/usr/local/gcc/bin:$PATH # 最新のgcc/g++を使用します。
バージョン番号の確認
$ g++ --バージョン
$ gcc --バージョン
$ which g++
$ どのgcc
エラー
1. Build フォルダが間違った場所に作成された stubs-32.h が見つからない、CentOS は 64 ビットです。
コンパイルは終了しました。
make[5]: *** [_muldi3.o] エラー1
make[5]: ディレクトリ `/home/wei/gcc-4.8.5/gcc-build-4.8.5/x86_64-unknown-linux-gnu/32/libgcc' から退出する。
............
解決方法 32ビットのglibc-develをインストールし、その後に特定のソフトウェアのマルチバージョン問題を無視するための引数を指定します。
$ yum -y install glibc-devel.i686 --setopt=protected_multilib=false
このエラーの主な原因は、新しいビルドフォルダーがソースツリー内にあるため、別のフォルダーを使用する必要があることです。 解決策は、新しいフォルダーがソースコードの外に作成され、解決されたコードがそれに更新されたことです。
第一に、わたしたちは、GCCをソースツリー内に存在しない、ソースとは別のディレクトリにビルドすることを強く推奨します。
関連
-
エラーです。Cannot find module '@vue/cli-plugin-babel'.
-
mongodb.service の起動に失敗しました。ユニット mongodb.service が見つかりませんでした。
-
[UE4公式ドキュメント翻訳】Unreal Engine 4 For Unity Developers (UE4、ユニティデベロッパーズ向け)
-
Error:SSL peer shut down incorrectlyの完全な解決法
-
test dword ptr [eax],eax ;プローブページです。
-
このアプリケーションは、ランタイムに異常な方法で終了するよう要求しました。
-
URIが登録されていない (設定 | 言語とフレームワーク | スキーマとDTD)
-
Android SpinnerAdapterの使用
-
ansible error resolution:UNREACHABLE sshでホストへの接続に失敗しました。
-
ApiModelProperty の使用方法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
発生: collect2 の原因の 1 つ: error: ld returned 1 exit status
-
ImportError: Missing required dependencies ['numpy'] 最初のインポートpandas問題に対する解決策。
-
undefined[エラー] 'delete' の前に未修飾の ID が必要です。
-
collect2.exe [エラー] ld が 1 の終了ステータスを返しました。
-
hibernate の遅延ロード例外分析: ロールのコレクションの遅延初期化に失敗しました。
-
ArrayAdapter は、リソース ID が TextView である必要があります。
-
C# データベース操作エラー この接続に関連する開いているデータリーダーがすでにあり、閉じる必要があります。
-
Python がエラー TypeError: write() 引数はバイトではなく str でなければならない
-
STM32でのビットバンド動作
-
エラーの解決策 xmlのこの行に複数のアノテーションが見つかりました。