これはしばらくの間私を悩ませてきました。巨大なC++ファイルをコンパイルしようとしています(職場のArch Linuxコンピューターで正常に動作するので、それが動作することはわかっています)。 MacでGCCバージョンを確認すると、次の結果が返されます
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)
Target: x86_64-Apple-darwin14.1.0
Thread model: posix
また、Homebrewを使用して最新のGCCバージョンをインストールしました。
brew install gcc49
私の質問は、新しくインストールされたGCCバージョンを、ターミナルが使用するデフォルトバージョンとしてどのように適用するかです。
また、homebrewをisntall gccに使用すると、gcc-49という名前が付けられるため、パッケージ間で混乱が生じないことも認識しています。
XCodeに付属している4.2.1バージョンを、インストールした4.9バージョンに置き換える方法がわかりません。
ありがとう
編集:gcc --versionの完全なreturnステートメントを取得するために私のMacに切り替えました
編集2:ここでの私の最後のゲームは、ディレクトリに移動し、入力できるようにすることです
make
Sudo make install
作成されたデーモンをインストールします。現時点では、ランダムパッケージと標準ライブラリで大量のエラーが返されます
デフォルトでは、homebrew
は、インストールするパッケージの実行可能ファイル(バイナリ)を/usr/local/bin
に配置します。これは、/bin
コアOSに属する標準化されたバイナリを格納します。したがって、brew
コマンドでgcc-4.9
を/usr/local/bin
にインストールする必要があります。問題は、それをどのように使用するかです...いくつかのオプションがあります。
オプション1
今日と明日の1つまたは2つのものをコンパイルし、おそらく再びコンパイラを使用しない場合は、gcc
によってインストールされたhomebrew
を次のようなフルパスで呼び出すこともできます。 :
/usr/local/bin/gcc-4.9 --version
オプション2
gcc
を非常に多く使用する場合、毎回完全なパスを明示的に入力するのは少し面倒なので、次を~/.bash_profile
に入れることができます。
export PATH=/usr/local/bin:$PATH
新しいターミナルを起動すると、/usr/local/bin
を調べる必要があることがわかります。そのため、単に入力するだけで済みます。
gcc-4.9 --version
オプション
gcc
を使用して実際のバージョンを気にせずにコンパイラを呼び出す場合は、上記のオプション2を実行し、さらにこのようなシンボリックリンクを作成できます。
cd /usr/local/bin
ln -s gcc-4.9 gcc
これにより、コマンドラインで次のようにhomebrew
と入力するだけで、gcc
-- installed gcc
を実行できます。
gcc --version
注:
後でgcc-4.13
などをインストールする場合は、以前と同様にbrew install
を実行してから、次のようにシンボリックリンクを変更します。
cd /usr/local/bin
rm gcc # remove old link from gcc to gcc-4.9
ln -s gcc-4.13 gcc # make new link from gcc to gcc-4.13
〜/ .bash_profileの$ PATHの順序を、インストール済みのbrewバージョンに更新する'export PATH=/usr/local/Cellar/gcc/5.1.0/bin:$PATH'
は、私のために切り替えるのに十分ではありませんでした
〜。/ bash_profile(alias gcc='gcc-5'
)動作しますが、混乱を招く可能性があります。つまり、which gcc
はClangバージョンを返します
私のために働いたのは、醸造gccディレクトリにシンボリックリンクを作成し、パスを更新することでした(上記のポイント1)
cd /usr/local/Cellar/gcc/5.1.0/bin/gcc
ln -s gcc-5 gcc
今which gcc
は正しいバージョン5.1.0を返します
OS XにはGCCがインストールされていません(4.2.1またはそれ以外)。 Clangはデフォルトのシステムコンパイラであり、以前から使用されています。 GCCとして呼び出された場合、4.2.1のC++ヘッダーを使用しています。 「gcc」(Clangを呼び出す)を呼び出す代わりに、Clangでコードをネイティブにコンパイルしようとしましたか? GCCエミュレーションモードよりも最新のヘッダーとC++サポートを備えています。
Gccバイナリuntarをダウンロードし、bin、lib include shareおよびlibexecファイルを/ usrディレクトリにコピーしてから、gcc --versionと入力します。
gcc --version gcc(GCC)4.9.2 20141029(プレリリース)Copyright(C)2014 Free Software Foundation、Inc.これはフリーソフトウェアです。コピー条件のソースを参照してください。保証はありません。市場性や特定の目的への適合性でさえも。