Swift コードをコンパイルする

Swift コードをコンパイルする


Swift で作ったコードはclangでコンパイルして実行ファイルにすることができます。
コマンドラインツールなどを作成したりするのにいいかもしれません。

Swiftのコンパイル

Swiftのコンパイルコマンドは swiftc です。
デフォルトの swiftc は /user/bin にインストールされています。

(ターミナルから which swiftc を入力して何もでてこなかったらXcodeをインストールしてみてください。


$ which swiftc
/usr/bin/swiftc

swiftcのバージョン

swiftcのバージョンは swiftc -versionで確認することができます。

また、Xcodeを複数インストールしている場合には、それぞれのXcodeに含まれたswiftcを使うこともできます。
それぞれのXcodeのなかの /Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin パスにswiftcがあります。

現時点では、Xcode6.2のswiftcはSwift1.1、Xcode6.3のswiftcはSwift1.2になっているので、Swift1.2を使いたい場合にはXcode6.3のswiftcを使いましょう。

$ pwd
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
$ ./swiftc -version
Swift version 1.1 (swift-600.0.57.4)
Target: x86_64-apple-darwin14.1.0
$ pwd
/Applications/Xcode63-beta4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
$ ./swiftc -version
Apple Swift version 1.2 (swiftlang-602.0.47.4 clang-602.0.48)
Target: x86_64-apple-darwin14.1.0

使い方

swiftcの使い方は簡単です。

例えばこんなソースコードを作成してコンパイルしてみましょう。
ファイル名は printme.swift とします。

for var i = 0 ; i < 100 ; i++ {

  println("i = \(i)")
  sleep(10)

}

-o で実行ファイル名が指定できるので、こんな感じで実行ファイルを作ることができます。

$ swiftc - o printmeapp printme.swift

複数のファイルからなる実行ファイルをコンパイルする場合には、最初によばれるクラスの名前は main.swift としましょう。

詳しい使い方については、swiftc -help でヘルプをみてみましょう。

まとめ

swiftcは実行ファイルを作るのには便利ですが、コンパイルエラーがとてもわかりにくいので、玄人向けの機能かもしれません。