clang + llvm(バージョン3.1)でプログラムをコンパイルしていて、同じclang + llvmバージョンのコンピュータでも実行しようとしています。私はUbuntu 10でコンパイルしていますが、実行しようとしている他のコンピュータにはCentOS 5があります。CentOSでは、LLVM(コンパイルパスはLLVMで実装されています)でコンパイルする際に問題が発生します。だから私はUbuntuでコンパイルし、そこからexeを取り出し、CentOSマシンで実行することを考えました。別のマシンでclang + llvmからコンパイルされたプログラムを実行する
しかし、私がしようとすると、次のエラーが発生します。
./main: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by ./main)
./main: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by ./main)
これをどのように解決できますか。私はそのマシンにrootアクセスを持っていないことに注意してください。
LD_PRELOADがこのトリックを実行しました。驚くばかり! – pythonic
もう一つの選択肢は、プログラムを静的にコンパイルすることです(つまり、すべての必要なライブラリ関数が含まれています)。 – flolo