LoginSignup
12
9

More than 3 years have passed since last update.

コマンドライン・デベロッパツールについてメモ

Last updated at Posted at 2021-02-11

環境: macOS Catalina / Big Sur (2021年2月現在)

コマンドライン・デベロッパツール(Command Line Developer Tools)は、Appleが提供しているC/C++の処理系です。C/C++のほかに、Swift、Python3、およびGitなどが含まれます。

Xcodeをインストールしなくても、コマンドライン・デベロッパツールだけインストールすればCコンパイラをターミナルから使うことができます。

Macに最初からインストールされているもの

次の言語はデベロッパツールをインストールしなくても最初からMacに入っています。場所は /usr/bin です。

Perl 5.18.4、PHP 7.3.11、Python 2.7.16、Ruby 2.6.3

なお、railsコマンドが入っていますが、次のメッセージを出すだけのものです。

% rails --version
Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

スタブとデベロッパツールのインストール

/usr/bin には、clang、swift、python3、gitなどのコマンドがあります。これらを仮に「スタブ」と呼んでおきます。スタブを実行すると次のようにデベロッパツールのインストーラが起動します。

image.png

インストールすると、 /Library/Developer/CommandLineTools/usr/bin にコマンドが配置されます。インストール後に /usr/bin のスタブを実行すると、インストーラではなく /Library/Developer/CommandLineTools/usr/bin の下の対応するコマンドが実行される、という仕組みになっています。

アンインストール

/Library/Developer/CommandLineTools をまるごと削除すれば、デベロッパツールをアンインストールできます。スタブを実行すると、再びインストーラが起動するようになります。

% sudo rm -rf /Library/Developer/CommandLineTools

ダウンロードしてインストール

Apple Developerのアカウントがあれば、次のサイトからダウンロードしてインストールもできます(自分で試したことはありません)。

Cコンパイラ

コマンド

デベロッパツールでは、ccコマンドもgccコマンドも中身はclangです。

インクルードパスとライブラリパス

Cのインクルードパスのリストは、「clang -v ソースファイル」で調べられます。

% clang -v hello.c
# 略
 /usr/local/include
 /Library/Developer/CommandLineTools/usr/lib/clang/12.0.0/include
 /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include
 /Library/Developer/CommandLineTools/usr/include
 /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks (framework directory)

リンカのライブラリパスを調べる方法は、よくわからない。これでいいのだろうか。

% clang -Xlinker -v hello.c
# 略
Library search paths:
    /usr/local/lib
    /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/lib

わからないこと

  • 現在のデベロッパツールのバージョンを知る方法。
  • 自動的にアップデートされるのかどうか。システム環境設定の「ソフトウェアアップデート」でデベロッパツールをアップデートしたことがあるような気がするが、気のせいかもしれない。
12
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
9