Monthly Archives: 7月 2012

Xcode集中連載(5):Xcode 4.3.3 にGCCをインストール

3
Filed under Xcode
Tagged as , , , , ,

Xcodeについての集中連載第5回。
現在最新のXcodeでは二つのコンパイラが指定できます。LLVM GCC 4.2と、LLVM Compilerです。
Xcodeも3.xまではメインのコンパイラはGCC 4.2でしたが、Xcode 4ではデフォルトでは選択できません。
それでも諸事情からGCCを使いたい、という場合がありますので、本エントリではその手順、つまりXcode4でGCCを使えるようにする手順について説明します。

これまでのXcodeについての集中連載

LLVMについてザックリと

最近のXcodeでコンパイラでデフォルトに指定されているLLVM GCCは、これまでのGCCとは違います。

もちろん、LLVM GCCとLLVM Compilerは違います。
この違いは、コンパイル時間から生成バイナリ、実行速度まで変わってきますので、設定手順の前に概要を説明しておきます。違いは分かるという方は次の項目からお読みください。
LLVMとは、Low Level Virtual Machineの略で、LLVM Developer Groupは、GCCとは違う新しいコンパイラ基盤を提供しています。

コンパイラは大きく二つの環境を機能を提供しています。

  • パーサー (Parser)
  • コード生成 (Code Generation)

この組み合わせが幾つかあり、GCCのパーサーと、LLVMのコード生成部分を組み合わせたものが、LLVM GCCとなります。
パーサー部分もLLVM Clangを使ったものが、LLVM Compilerと呼ばれているようです。
下記ページが参考になります。

無印GCCをインストール

さて、LLVMじゃないGCC 4.2.1をインストールする手順を示します。
大きな流れとしては「GCCをインストール」→「GCCを使えるように設定」という2手順となります。
($の行はTerminalに入力する実行コマンド、#の行は次の行で行なっているコマンドの説明です)

# テンポラリディレクトリに移動.
$ cd /private/tmp
 
# tarボールをダウンロード.
$ curl -kLO http://opensource.apple.com/tarballs/gcc/gcc-5666.3.tar.gz
 
# tarボールを展開
$ tar zxvf gcc-5666.3.tar.gz
 
# 展開したディレクトリに移動
$ cd gcc-5666.3
 
# ビルド出力用フォルダを作成
$ mkdir -p build/obj build/dst build/sym
 
# ビルド(かなり時間がかかる)
$ sudo gnumake install RC_OS=macos RC_ARCHS='i386 x86_64' TARGETS='i386 x86_64' SRCROOT=`pwd` OBJROOT=`pwd`/build/obj DSTROOT=`pwd`/build/dst SYMROOT=`pwd`/build/sym
 
# (必要に応じてビルドされたGCCのバージョンを確認してみます)
$ ./build/dst/usr/bin/gcc-4.2 --version
 
# (必要に応じてもともと入っているGCCがあれば、そのバージョンを確認してみます)
$ /usr/bin/gcc --version
 
# コピー(注意!これで上書きしてしまいます!)
$ sudo ditto build/dst /

これでGCCのビルドは完了です。
gccがどのコマンドにシンボリックリンクされているか、次のようにTerminal上で確認し、必要に応じてlnコマンドで設定を切り替えましょう。(後述)

# gccのリンク先を確認
$ ls -al /usr/bin/gcc
lrwxr-xr-x  1 root  wheel  12  6 28 18:11 /usr/bin/gcc -> llvm-gcc-4.2
# ↑のようになっていたらLLVM GCCにシンボリックリンクされています。

Xcodeの設定変更

GCCのインストールが終わったら、Xcode側の設定を書き換えます。
(私はviが苦手なので、下記のようにemacsで編集していますが、お好みのエディタで変更してください)

1
2
# Emacsで設定ファイルを変更します
$ emacs "/Applications/Xcode.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer/Library/Xcode/Plug-ins/GCC 4.2.xcplugin/Contents/Resources/GCC 4.2.xcspec"

もともと次のように設定されている2項目を変更します。

  • ShowInCompilerSelectionPopup = NO;
  • IsNoLongerSupported = YES;

  • ShowInCompilerSelectionPopup = YES;
  • IsNoLongerSupported = NO;

これでXcodeを開き直すと、下図のように設定が追加されているのがわかります。

以上です。
ちなみに、Xcode集中連載はこの5回目で一旦終了で、またネタが溜まる日まで。

おまけ1:Emacsコマンドメモ<忘れがちな自分用のメモ>

emacsでは編集を保存するときには、C-x C-s、emacsを終了するときには、C-x C-cです。

おまけ2:lnコマンドについて

コメントで頂きましたlnコマンドの使い方について説明します。
lnコマンドは次のように、source_file(リンク先とするファイル)target_file(新しい作成するシンボリックリンク名)を引数とするシンボリックリンク作成コマンドです。

ln [-Ffhinsv] source_file [target_file]

/tmp/test1.txt という実際にあるファイルへのシンボリックリンクを /tmp/test.txt として作成する例を示します。

$ ls -alF /tmp/test*
-rw-r--r--@ 1 Hiromichi  wheel  22  5 11 22:55 /tmp/test1.txt
-rw-r--r--@ 1 Hiromichi  wheel  22  5 11 22:55 /tmp/test2.txt
$ tail /tmp/test1.txt 
This is a test 1 text.
$ tail /tmp/test2.txt 
This is a test 2 text.
 
$ ln -s /tmp/test1.txt test.txt
$ ls -alF /tmp/test*
lrwxr-xr-x  1 Hiromichi  wheel  14  5 11 22:56 /tmp/test.txt@ -> /tmp/test1.txt
-rw-r--r--@ 1 Hiromichi  wheel  22  5 11 22:55 /tmp/test1.txt
-rw-r--r--@ 1 Hiromichi  wheel  22  5 11 22:55 /tmp/test2.txt
$ tail /tmp/test.txt
This is a test 1 text.
にほんブログ村 IT技術ブログ iPhoneアプリ開発へ

[AD]

Xcode 4 完全攻略

著者/訳者:STUDIO SHIN

出版社:ソフトバンククリエイティブ( 2012-03-29 )

定価:

Amazon価格:¥ 2,916

大型本 ( 420 ページ )

ISBN-10 : 4797367717

ISBN-13 : 9784797367713


詳解iOS5プログラミング

著者/訳者:沼田 哲史

出版社:秀和システム( 2011-12-22 )

定価:

単行本 ( 357 ページ )

ISBN-10 : 4798032034

ISBN-13 : 9784798032030


Xcode集中連載(4):Xcode 4.3.3 に古いSDKをインストールする

1
Filed under Xcode
Tagged as , , ,

Xcodeについての集中連載第4回。
今回は、新しいXcode(4.3.3)に、古いiOS SDKを追加する手順について、です。
(注:下に示す方法はある程度は試しているのですが、実際にAppStoreに提出するビルドまで行なってはいないので、問題があったらゴメンナサイ)

古いSDKが無くなった!

以前はXcodeをインストールしたらその中には最新から4つくらいのiOS SDKが入っていましたが、現在最新バージョンであるXcoce 4.3.3をインストールすると、中に入っているのはiOS SDK 5.1しかありません。

そのおかげでインストールファイルが軽くなったりしている恩恵はありますし、大抵の場合これで問題ないのですが、稀なケースでは古いiOS SDKが必要になります。
ちょっと調べてみたところ、面倒ではあるもののそう複雑ではない方法で追加することが可能でした。

Xcode 4.3.3に、iOS SDK 4.3を入れる

iOS SDK 4.3を入れる場合の説明です。

古いXcodeからSDKインストーラをコピー

まず、古いXcode3.2.6のインストールディスクイメージをマウントし、その中にあるPackagesを開きます。

その中にある次の二つのファイルを適当な場所にコピーしておきます。

  • iPhoneSDK4_3.pkg
  • iPhoneSimulatorSDK4_3.pkg

SDKをダミーフォルダにインストール

もう一つ、準備作業として、/Developerフォルダを作成します。Xcode 4.3.3の場合、/Developerフォルダはないはずなのですが、もしある場合は、適当な場所に空のフォルダを作って(説明の便宜上Developerと名付けて)ください。
フォルダの準備が出来たら、上記作業でコピーしたインストーラ(.pkg)をダブルクリックして、「インストール先の選択」で「フォルダを選択…」を選び、
先ほど作成した/Developerを指定します。これで/Developer以下にSDK関連のファイルがインストールされるはずです。

Xcode.app内にSDKファイル群をコピー

最後に、下記のようなコマンドで、Xcode.app内に、SDKファイル群をコピーして完了です。

1
2
$ cd <Developerフォルダがある場所>
$ cp -R ./Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/

シミュレータ用のライブラリも同様にして追加します。

3
4
$ cd <Developerフォルダがある場所>
$ cp -R ./Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/

Xcodeを再起動したら、下のスクリーンショットのように使えるSDKが増えます!

ちょっと面倒ではありますが、このコピーする.sdkフォルダ自体をバックアップしておけば、次回からは、古いXcodeから抜き出す作業は不要なので、2回目からは楽ですよ!

にほんブログ村 IT技術ブログ iPhoneアプリ開発へ

[AD]

Objective-C超入門――ゼロからしっかり学べるiPhoneプログラミング【Xcode4.2対応】

著者/訳者:大川内隆朗

出版社:ラトルズ( 2012-01-25 )

定価:

Amazon価格:¥ 3,218

単行本(ソフトカバー) ( 520 ページ )

ISBN-10 : 4899772874

ISBN-13 : 9784899772873


Xcode 4ではじめるObjective-Cプログラミング

著者/訳者:大津 真

出版社:ラトルズ( 2012-01-25 )

定価:

単行本(ソフトカバー) ( 344 ページ )

ISBN-10 : 4899772998

ISBN-13 : 9784899772996


Xcode集中連載(3):Xcode 4にコマンドラインツールを追加

1
Filed under Xcode
Tagged as , , ,

Xcodeについての集中連載第3回。
Xcode 4(4.1くらい?)になってから、Xcodeのインストールのみでは、gccやgnumakeなどコマンドライン用のツールがインストールされなくなりました!
バリバリの開発者にとって、これでは結構不便なので、次のようにしてインストールしておきましょう。

ワンボタンでダウンロード!

Xcode→Preferences→Downloads→Componentsを開き、「Command Line Tools」の項目にある『Install』ボタンを押すだけ。

また、AppleのダウンロードサイトからもCommand Line Tools for Xcodeという名前で置いてあり、ここからダウンロード出来ます。


これでTerminalを開いて gcc とか実行することができます!
iOSアプリ開発自体はもちろんXcodeでやるのが楽なのですが、簡単なC言語の動作確認とか、テスト、あと、ライブラリのビルド等にこうしたツール群は必須ですよね。

にほんブログ村 IT技術ブログ iPhoneアプリ開発へ

[AD]

Xcode 4 完全攻略

著者/訳者:STUDIO SHIN

出版社:ソフトバンククリエイティブ( 2012-03-29 )

定価:

Amazon価格:¥ 2,916

大型本 ( 420 ページ )

ISBN-10 : 4797367717

ISBN-13 : 9784797367713


Xcode 4ではじめるObjective-Cプログラミング

著者/訳者:大津 真

出版社:ラトルズ( 2012-01-25 )

定価:

単行本(ソフトカバー) ( 344 ページ )

ISBN-10 : 4899772998

ISBN-13 : 9784899772996


Xcode集中連載(2):Xcode 4.3以降のインストール、アンインストール

1
Filed under Xcode
Tagged as , , ,

Xcodeについての集中連載第2回。
今回のエントリは、4.3以降のXcodeのインストール、アンインストール手順について書いています。

Xcode 4.3.x インストール

前回も書いたように、Xcodeは、4.3で大幅な開発環境の構造改革を行いました。
一番の特徴は、それまで全てを持っていた /Developer ディレクトリが無く、ほとんどのツールやデータがApplicationsディレクトリ内の、Xcode.appの中に移動したことです。
4.3以降のものも下記ダウンロードサイトからダウンロード可能です。

アプリのパッケージ内に全てがあるため、ダウンロードしたディスクイメージを開いてみると、ゴロンとアプリが置いてあるだけのシンプル構造!

これをApplicationsフォルダにコピーすればインストール完了

Xcode 4.3.x アンインストール

で、簡単にインストールできたXcodeですが、アンインストールはどうすればいいのでしょうか?
アプリファイルを削除すればいいだけだとは思いますので、アプリを削除すればいいのですが、関連ファイルが本当に消えているのか?という心配が残ります。
そこで便利なのが、AppCleanerというアプリ。


FreeMacSoft – AppCleaner

Xcodeにかぎらず、Macにインストールされたアプリを削除したい場合、このアプリで開いたウィンドウに削除したいアプリをドロップすると関連ファイルを探してくれ一緒に削除できるのです。
Xcodeの場合もこれで大体問題ないと思います。

にほんブログ村 IT技術ブログ iPhoneアプリ開発へ

[AD]

Xcode 4ではじめるObjective-Cプログラミング

著者/訳者:大津 真

出版社:ラトルズ( 2012-01-25 )

定価:

単行本(ソフトカバー) ( 344 ページ )

ISBN-10 : 4899772998

ISBN-13 : 9784899772996


はじめてのXcode4プログラミング

著者/訳者:まえだひさこ 佐藤 伸吾

出版社:インプレス( 2012-05-24 )

定価:

Amazon価格:¥ 2,808

単行本(ソフトカバー) ( 272 ページ )

ISBN-10 : 9784844332046

ISBN-13 : 9784844332046