Mac OSX Yosemiteでccが呼び出されたときにclangの代わりにgccを使用するようにしようとしていますが、何をしても、一緒にプレイすることを拒否します。私はすでにbash_profile/bashrcを変更し、シンボリックリンクを再リンクしようとしましたが、役に立ちませんでした。「cc」を呼び出すたびに、実行されるのはまだclangです。代わりに強制的にgccにしようとしています(いいえ、gccを呼び出すだけではオプションではありません)。
私は以前に同様の質問をしました( Yosemiteでgccをデフォルトのcコンパイラにする/ clangを無効にする )。
OSXもXcodeも実際のGCCには付属していません。コンパイラが「gcc」と呼ばれることを前提としたスクリプトとの互換性のために、その名前の実行可能ファイルがありますが、それらはすべてClangの最前線です。シンボリックリンク、環境変数の設定、またはエイリアスの設定を行っても、これらの実行可能ファイルで実際のGCCを実行することはできません。
GCCが必要な場合は、インストールする必要があります。これは、MacPorts(私がよく知っているもの)などのパッケージマネージャーの1つを使用して行うことができます。 Homebrewも使えると思います。
/ usr/bin内の何も変更しないでください。すでに行っている場合は、可能であれば、変更したものを復元する必要があります。
行儀の良いパッケージマネージャーもそのディレクトリを変更しません。/opt/local/bin、/ usr/local/binなどの別のディレクトリにインストールする必要があります。その場合は、PATH
を変更して、これらのディレクトリを/ usr/binより前に配置する必要があります。
あなたはこれをすべきではありません。多くのツールは、インストールバイナリに依存して、何をすべきかを示しています。もう1つのオプションは、環境変数CC
をgcc
に設定し、$CC ...
ではなくcc ...
を使用してコンパイルを呼び出すことです。この環境変数は、configure
(autotools)またはcmake
を介してパッケージをビルドするときにも取得されます。
これは、MacPortsバージョンのgcc(はるかに最新のgcc-4.9.2など)との互換性のあるアプローチでもあり、次のように設定できます:Sudo port select --set gcc mp-gcc49