C++Builder 10.1 BerlinでiOS 10.3向けのアプリをビルドすると、「CoreFoundation.h(17): 'stdarg.h' ファイルが見つかりません」というエラーが発生する

Abstract: 発生しているエラーに対する対処方法を説明いたします

blank

    概要

macOSにXcode 8.3(iOS 10.3 SDK)をインストールし、SDKマネージャで登録したiPhoneOS 10.3を利用してC++Builder 10.1 Berlinでビルドすると、

以下の図のようにCoreFoundation.h(17): 'stdarg.h' ファイルが見つかりません」というエラーが発生します。

Hide image
Click to see full-sized image

10.1 Berlinは、iOS 10.3を正式にサポートしておりません。

RAD Studio(C++Builder)の各バージョンのプラットホーム動作要件は、こちらをご覧ください。

blank

そのため、10.1 BerlinでiOS 10.3向けデバイスのアプリをビルドするには、Xcode 8.3(iOS 10.3 SDK)ではなく、Xcode 8.2.x(iOS 10.2.x SDK)を利用してください。

なお、macOSに複数バージョンのXcodeをインストールすることは可能です。

(複数バージョンのXcodeを共存させる方法については、こちらをご覧ください。)

blank

以下、Xcode 8.2.x(iOS 10.2.x SDK)へ変更し、10.1 Berlinでビルドする手順です。

blank

    Xcode側の設定

Xcode8.2.xは、こちらからダウンロードできますので、インストールしてください。

(要 AppleIDでログイン)

blank

Xcodeを起動し、Xcodeメニューの[Preferences]-[Locations]を選択してください。

Hide image
Click to see full-sized image

Command Line Toolsの項目で、利用するXcodeのバージョンを選択してください。

複数バージョンのXcodeをインストールしている場合は、下図のようにリスト内に複数のXcodeのバージョンが表示されます。

Hide image
Click to see full-sized image

Command Line Toolsの設定で、Xcode 8.2.xへ変更してください。

設定を変更するためには、管理者権限をもったアカウントの入力が必要です。

blank

    RAD Studio側の設定

iOS SDKの登録は、RAD Studioメニューの[ツール]-[オプション]-[環境オプション]-[SDKマネージャ]で行います。

blank

SDKマネージャの役割は、macOS上で動作するPAServerを経由し、Command Line Toolsを利用して

iOS SDK関連のモジュールをRAD Studio が動作するWindows内にコピーし、それをプロファイルとして登録します。

なお、SDKマネージャの登録には、PAServerへ接続しなければならないため、事前にmacOS環境でPAServerの起動と、

RAD Studioメニューの[ツール]-[オプション]-[環境オプション]の”接続プロファイルマネージャ”の設定で、PAServerへの接続を確認し、登録しておいてください。

blank

以下、SDKマネージャの登録の手順です。

blank

RAD Studioメニューの[ツール]-[オプション]-[環境オプション]-[SDKマネージャ]を選択します。

Hide image
Click to see full-sized image

SDKマネージャ画面で、[追加]ボタンを押します。

下図のように”新規SDKの追加”ダイアログが表示されますので、

Hide image

blank

プラットホームの選択=iOSデバイス-64ビット、もしくはiOSデバイス-32ビット

接続するプロファイルの選択=接続プロファイルマネージャで登録したプロファイル

SDKバージョンの選択=iPhoneOS 10.2

blank

をそれぞれ設定してください。

もしSDKバージョンのリストからiPhoneOS 10.3しか選択できない場合は、XcodeのCommandLineToolsの設定が間違っている可能性があるため、もう一度 Xcode 8.2.xが選択されているか確認してください。

全て設定が完了したら、[OK]ボタンを押してください。

Hide image
Click to see full-sized image

Windowsローカルパス内にiOS SDK関連のモジュールのコピーが開始されます。

Hide image
Click to see full-sized image

全てのファイルのコピーが完了したら、[閉じる]ボタンを押してプロファイルを登録してください。

そして実際にiOS SDK 10.2でビルドしたい場合は、下記の図のようにプロジェクトマネージャからターゲットプラットホーム=iOSデバイスを選択し、iPhoneOS 10.2を選択してください。

Hide image
Click to see full-sized image

もしiPhoneOS 10.2が選択されていない場合は、ターゲットプラットホーム=iOSデバイスを選択、

マウスを右クリックしてポップアップメニューから[SDKの編集]を選択してください。

Hide image
Click to see full-sized image

SDKマネージャのメニューが開きますので、iPhoneOS 10.2を選択してください。