web-dev-qa-db-ja.com

OSXでGCCを更新する

だから私は新しいプログラマーであり、XCCをMacbookにインストールしてGCCを取得しました。 XcodeがOSXでGCCを取得する唯一の方法だと思います。 Hello WorldアプリケーションをC++で実行すると、g ++がバージョン4.0.1であると表示されますが、gで始まるコマンドを検索すると、g ++-4.2も表示されます。 4.0.1ではなく4.2をデフォルトにする方法はありますか?またgccを最新バージョン4.4.0に更新する方法はありますか?

編集:[OK]を、だから私はmacportsをインストールし、gcc4.4をインストールし、それはgcc-mp-4.4として端末に表示されます。ありがとう。

60
Karan Bhamra

Macportsをインストールする場合、gcc selectをインストールしてから、gccバージョンを選択できます。

/opt/local/bin/port install gcc_select

バージョンを確認するには

port select --list gcc

バージョンを選択するには

Sudo port select --set gcc gcc40
61
Milhous

私はそれが古いリクエストであることを知っています。しかし、それでも一部の人にとっては有用かもしれません。 MacPortsの現在のバージョンでは、portコマンドを使用してデフォルトのgccバージョンを選択できます。 gccの使用可能なバージョンをリストするには、次を使用します。

$ sudo port select --list gcc

Available versions for gcc:
gcc42
llvm-gcc42
mp-gcc46
none (active)

GccをMacPortsバージョンに設定するには:

$ sudo port select --set gcc mp-gcc46

36
Briand06

これを達成するためにソフトリンクを使用することは、ひどい、役に立たない、恐ろしいアイデアであると言うために立ち寄っています。

ソフトウェアの作成に関する重要なことの1つは再現性です。毎回同じ結果が得られるようにしたいと考えています。これらのシステムは非常に複雑なため、目に見えないエラーの原因をすべて減らしたいと考えています。

ソフトリンクがあることは、目に見えないエラーの原因です。 1か月で忘れてしまい、別のマシンに移動して、なぜ別の結果が得られるのか不思議に思うようなものです-または、システムをアップグレードしようとすると、そうではないので奇妙なエラーが発生しますそこにソフトリンクが必要です。

さらに、これは動作することが保証されていません-特に、gccの反復間で確実に変更された正しいシステムインクルードファイルを取得するかどうかは明確ではありません。

gcc_selectは、予測可能な動作をする同じことを体系的に行う方法です。最悪の場合、バグレポートを提出して、最終的な修正を取得するか、自分で修正することができます。

残念ながら:-( gcc_selectはXCodeが使用するコンパイラに影響を与えないので、XCodeで作業する必要がある場合(これは私が行います)、進むべき道ではありません。その方法はまだわかりません。

13
Tom Swirly

Homebrew を使用した次のレシピは、gcc/g ++ 4.7に更新するのに役立ちました。

$ brew tap SynthiNet/synthinet
$ brew install gcc47

投稿で見つけました こちら

2
Juan A. Navarro

「gcc_select -l」を使用します

> gcc_select -l

gcc40 mp-gcc44

> gcc_select mp-gcc44

2
user252445

/usr/binタイプ

Sudo ln -s -f g++-4.2 g++

Sudo ln -s -f gcc-4.2 gcc

それはそれを行う必要があります。

1
peter

ボックスに複数のバージョンのGCCを使用して、使用するバージョンを選択して、フルパスで呼び出すことができます。の代わりに g++フルパスを使用/usr/bin/g++コマンドラインで(gccの存在場所によって異なります)。

プロジェクトをコンパイルするためには、どのシステムを使用するかによって異なりますが、Xcodeについてはわかりません(デフォルトのatmには満足しています)が、Makefileを使用する場合はGXX =/usr/bin/g ++などを設定できます。

[〜#〜] edit [〜#〜]

Macでビルドツールの適切なバージョンを選択するためにクエリできるxcrunスクリプトがあります。の他に man xcrunxcodeおよびコマンドラインツール に関する説明をグーグルで検索しました。

1
stefanB