« F1 シンガポールGP パート3 | メイン | ウイルスバスター 2010 »

2009年9月28日

Xcode 3.2と古いMac OS X SDK

カテゴリー: プログラミング

メインマシンをMac OS X 10.6 Snow Leopardにした際に、最新のiPhone SDKとXcode 3.2をインストールしました。しかし、例によってそのパッケージにはMac OS X 10.3以前のSDKが含まれていませんでした。私が仕事で開発しているプロダクトの多くはまだ10.3を動作保証しているので、メインマシンでビルドできないと何かと面倒です。

ネットで調べたところ、手動でインストールすれば使えることが分かりました。日本語の情報があまりなかったので、メモがわりにざっと書いておきたいと思います。試行錯誤したせいで細かい手順は忘れてしまいましたが、ポイントは以下の3点だと思います。

  • MacOSX10.2.8.sdkとMacOSX10.3.9.sdkは古い環境からコピーするか、古いXcodeのパッケージから再インストールする
  • GCC 3.3を古いパッケージから再インストールする(必ず起動ボリュームのルートへ)
  • 古い環境から"/Developer/Library/Xcode/Plug-ins/GCC 3.3.xcplugin"をコピーする

更にMacOSX10.2.8.sdkは、以前Xcode 3をインストールした時に書いた対応も必要だと思います。今回は古い環境からそのままコピーしてきたので、これは対応済みでした。

なお、MacOSX10.2.8.sdkとMacOSX10.3.9.sdkはGCC 4.0では正常にコンパイルできませんでした。エラーが出ます。以前は(少なくともMacOSX10.3.9.sdkは)4.0でコンパイルできたのですが、Intelマシンだからですかね。まあ、3.3でも問題ないので、そちらを使うことにしました。

また、GCC 3.3でコンパイルしても、1つだけ以下のような警告が残りました。無視しても良さそうですが、消せるようなら消したいですね。まだ追求していません。

ld: warning: object file compiled with -mlong-branch which is no longer needed. To remove this warning, recompile without -mlong-branch: /usr/lib/gcc/darwin/3.3/crt2.o


ちなみに、CodeWarrior 9.0とResorcererもMac OS X 10.6でちゃんと動作しました。うちにはまだまだMac OS 9をサポートしているプロダクトもありますから、これも大事です(^^;)



コメント

よろしければコメントしてください。

※メールアドレス以外の項目はこのページ上に公開されます。個人情報などの入力にはご注意ください。




保存しますか?


「投稿」ボタンを押してから書き込み完了までに多少時間がかかる場合があります。ご了承ください。