1. ホーム

コマンドラインオプション "-std=c++11" が認識されない場合の対処法

2022-02-10 15:07:04
gccを4.8.2にアップデートした後、c++11でコンパイルすると、やはりこの状況が発生します。
(gccのバージョンの更新は別記事で行います。http://blog.163.com/wu_thousand/blog/static/11863596220162313445024/)
ここでは、複数のgccバージョンが存在し、システムのデフォルトのgccバージョンが低いバージョンであることが原因である可能性があります。

find / -name gcc コマンドを使用すると、複数のディレクトリに gcc が存在することが確認されました。
/usr/lib/gcc
/usr/local/lib/gcc
/usr/local/bin/gcc
/usr/local/libexec/gcc
/usr/bin/gcc

usr/bin/gcc --versionを実行すると、バージョンが表示されます。
:
gcc (GCC) 4.4.7-4
/usr/local/bin/gcc --version.
gcc (GCC) 4.8.2
複数のバージョンのgccが見つかりました。
gccを変更する場合、/usr/local/binにgccがあるかどうか確認する必要がありますが、私の4.8.2はgccなしでコンパイルされているので、ない場合はmvを実行する必要はありません。
この時点では

mv /usr/bin/gcc /usr/bin/gcc4.4.7

ln -s /usr/local/bin/gcc /usr/bin/gcc

mv /usr/bin/g++ /usr/bin/g++4.4.7

ln -s /usr/local/bin/g++ /usr/bin/g++

mv /usr/bin/cc /usr/bin/cc4.4.7

ln -s /usr/local/bin/cc /usr/bin/cc

mv /usr/bin/c++ /usr/bin/c++4.4.7

ln -s /usr/local/bin/c++ /usr/bin/c++


大丈夫でしょうか?


原文: http://www.th7.cn/system/lin/201407/61834.shtml