2016-11-25 8 views
1

異なるOSで開発すると、1つのLinuxシステムで構築されたプログラムを、異なるlibcバージョンのために別のシステムで実行することができません。C/C++はすべてのダイナミックライブラリを1つのビンファイルに構築できますか?

golangがc/C++で行ったように、すべての共有ライブラリをビルドするにはどうすればよいですか? libcのとlibcxx

+0

静的なlibcなどをリンクしたいだけです。 –

+1

cc -staticなどは通常私のために働きます。 man-cc -staticスイッチの詳細については、man ccを参照してください。 –

+1

異なるプラットフォームは異なるアーキテクチャーを持ち、Cはポータブルであり、Javaのようにプラットフォームに依存しない – Anjaneyulu

答えて

2

含む

あなたは複数のLinuxシステム上で実行したい場合は、あなたが本当に必要なのは、それらのいずれかから最古のglibcを使用して構築することです。一番簡単な方法はCentOS 5のような古いシステムから仮想マシンイメージをダウンロードしてビルドすることです。静的なリンクについて心配する必要はありません。古いバージョンに対してビルドするだけで、新しいバージョンとほとんど互換性があります。

関連する問題