65

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

編集: わかりましたので、macports をインストールして gcc4.4 をインストールすると、端末に gcc-mp-4.4 として表示され、gcc_select でデフォルトにするにはどうすればよいですか。ありがとう。

4

9 に答える 9

63

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

/opt/local/bin/port install gcc_select

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

port select --list gcc

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

sudo port select --set gcc gcc40
于 2009-05-08T02:34:37.780 に答える
37

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

$ sudo ポート選択 --list gcc

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

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

$ sudo ポート選択 --set gcc mp-gcc46

于 2012-01-27T13:05:11.330 に答える
13

これを達成するためにソフトリンクを使用することは、ひどい、良くない、恐ろしい考えだと言っているだけです。

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

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

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

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

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

于 2010-09-04T18:06:00.483 に答える
3

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

$ brew tap SynthiNet/synthinet
$ brew install gcc47

ここの投稿で見つけました。

于 2013-07-02T15:13:47.720 に答える
2

「gcc_select -l」を使用

> gcc_select -l

gcc40 mp-gcc44

> gcc_select mp-gcc44

于 2010-01-17T03:13:15.263 に答える
1

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

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

編集

xcrunMac で適切なバージョンのビルド ツールを選択するためにクエリを実行できるスクリプトが追加されました。それとは別に、xcodeとコマンドラインツールman xcrunに関するこの説明をグーグルで検索しました。これは、使用方法をほぼまとめています。

于 2009-05-08T03:11:21.437 に答える
0

/usr/binタイプで

sudo ln -s -f g++-4.2 g++

sudo ln -s -f gcc-4.2 gcc

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

于 2010-08-12T20:17:48.877 に答える
-8

Appleがxcodeのデフォルトgccとして出荷するもの(10.6では4.2.1、以前は4.0.1)は、Appleの担当者と、OS Xでソフトウェアをビルドするための「標準」によって十分にテスト(および保守)されています。したがって、ソフトウェアを開発したい場合、またはgcc / OS Xベータテスターに​​なりたい場合は、よく考えてください。

于 2010-08-14T00:06:11.460 に答える