私はc ++プログラムを書いていますが、Mac OSXバージョン10.6以降で配布したいと思います。問題は、clangを使用してプログラムをコンパイルすると、libstdc ++と動的にリンクされ、古いシステムで問題が発生することです。
キーがあります-static-stdc++
gccにありますが、clangには誰もいません。プログラムをclangと静的にリンクするにはどうすればよいですか?
私の主な目標は、Mac OS X 10.9でバイナリをコンパイルし、それを以前のバージョンで実行できるようにすることです。たぶん別の方法がありますか?
ありがとうございました。
Linuxでは、このコマンドは機能します。
clang --std=c++11 -stdlib=libstdc++ loopy.cpp -o loopy -static -lstdc++
loopy
はもちろん私のプログラムの名前です。
Appleは静的リンクを強く推奨していません のようですので、別のアプローチが必要であることを示唆しています。
この回答 下位互換性のあるOSXソフトウェアの作成が代わりに役立つ場合があります。