私のLinux(Ubuntu)システムに新しいバージョンをビルドしてインストールしたgcc
後/opt/gcc-10.2.0
。
その後、デフォルト値/update-alternatives
に設定しました。gcc
g++
ただし、動作し、新しいバージョンでビルドされたプログラムは、.NETのバージョンではなく古いgcc
バージョンに接続され続けます。libstdc++
/usr/lib/x86_64-linux-gnu
/opt/gcc-10.2.0/lib64
システムがlibstdc++
C ++ 11より前のABIを使用している場合は問題になる可能性があります。これは起動時にアプリケーションがクラッシュする可能性があるためです。
libstc++
最新バージョンのGCCをインストールし、それをユーザーの「デフォルトコンパイラ」にし、それを使用して作成されたプログラムがそのコンパイラにバンドルされていることを確認する方法はありますかlibgcc
?
最新のGCCバージョンを使用するビルドサーバーを作成したいので、この質問をします。
答え1
- コンパイルされたプログラムの移植性が向上するため、これは実際には良い方法です。
-L/opt/gcc-10.2.0/lib64
コンパイルフラグに追加してみることができます。- 可能です
sudo mkdir /usr/lib64/save; sudo mv -iv /usr/lib64/libstdc++* /usr/lib64/save
。お勧めできません。