「g++をFreeBSDへインストールする」の版間の差分

提供: C++入門
移動: 案内検索
(概要)
行4: 行4:
  
 
== 概要 ==
 
== 概要 ==
[[FreeBSD]]は、デフォルトでベースシステムに[[g++]]がインストールされますが、C++の新しい規格([[C++11]],[[C++14]]などのC++XXなもの)の機能を利用する場合、新しい[[g++]]を必要とすることがあります。
+
[[FreeBSD]] 10.0-RELEASE未満のシステムでは、デフォルトでベースシステムに[[g++]]がインストールされます。GNUの[[g++]]コマンドが使いたいときやC++の新しい規格([[C++11]],[[C++14]]などのC++XXなもの)の機能を利用する場合、新しい[[g++]]を必要とすることがあります。
  
 
新しい機能を利用するために、[[C++コンパイラ]]をインストールする場合には、[[ports]]やpkgが利用できます。
 
新しい機能を利用するために、[[C++コンパイラ]]をインストールする場合には、[[ports]]やpkgが利用できます。
 +
 
== 複数のバージョンのG++の共存 ==
 
== 複数のバージョンのG++の共存 ==
 
[[FreeBSD]](たいていのLinuxでも)では、複数のバージョンのGCCコンパイラ(G++)が共存できます。
 
[[FreeBSD]](たいていのLinuxでも)では、複数のバージョンのGCCコンパイラ(G++)が共存できます。

2014年7月9日 (水) 20:34時点における版

GNU GCCコンパイラコレクションC++コンパイラであるg++FreeBSDにインストールする方法です。

概要

FreeBSD 10.0-RELEASE未満のシステムでは、デフォルトでベースシステムにg++がインストールされます。GNUのg++コマンドが使いたいときやC++の新しい規格(C++11,C++14などのC++XXなもの)の機能を利用する場合、新しいg++を必要とすることがあります。

新しい機能を利用するために、C++コンパイラをインストールする場合には、portsやpkgが利用できます。

複数のバージョンのG++の共存

FreeBSD(たいていのLinuxでも)では、複数のバージョンのGCCコンパイラ(G++)が共存できます。

下記の例では、GCC 4.6, 4,7, 4.9(g++のパッケージ) が同居しています。

$ pkg info |ag gcc
gcc-4.7.3_1                    GNU Compiler Collection 4.7
gcc-ecj-4.5                    Eclipse Java Compiler used to build GCC Java
gcc46-4.6.4_1,1                GNU Compiler Collection 4.6
gcc49-4.9.1.s20140507          GNU Compiler Collection 4.9

zshの入力補完の例ですが、g++の名前のあとにバージョン番号がそれぞれ付与されたコマンドが用意されています。必要に応じて、任意の番号のついたg++コマンドを実行することで、複数のバージョンのg++を使い分けることができます。

$ g++4
g++46  g++47  g++49

インストール

FreeBSDにインストールする場合

ports コレクションからインストールする場合

cd /usr/ports/lang/gcc
sudo make install clean

pkgコマンドでインストールする場合

sudo pkg install gcc

portmasterコマンドでインストールする場合

sudo portmaster -y -d /usr/ports/lang/gcc

新しいコンパイラをインストールする

gcc 4.10

sudo pkg install gcc410

gcc 4.9

sudo pkg install gcc49

gcc 4.8

sudo pkg install gcc48

gcc 4.7

sudo pkg install gcc47

関連項目