既存の C++ コードベースを XCode iOS プロジェクトに「インポート」しようとしています。
問題は、xCode が私のコードをコンパイルしない (したがってリンクしない) ことです。これは私がこれまでに行ったことです:
- [ファイル] > [プロジェクト] にファイルを追加します。複数のプラットフォーム用の共有コードベースであり、ソース コードの複数のコピーはオプションではないため、[ファイルのコピー] にはチェックを入れません。
- 「ヘッダー検索パス」プロジェクト設定に適切なパスを追加しました。ヘッダー ファイルのインクルードは機能します。Objective-C++ (.mm) ファイルから #include "stuff.h" を含めることができます。
しかし、実際に XCode に .cpp ファイルをコンパイルするように指示する方法が見つかりませんか?
いくつかのポイント:
- 私はそれをライブラリにプリコンパイルしてそのようにリンクする方法を探していません
- このプロジェクトは、標準の iOS Objective-C プロジェクトです。そこから C++ コードが呼び出されます (これは問題ではありません)。
アップデート
コードベースディレクトリをターゲットの「コンパイル ソース」に追加しました。コードベースへのディレクトリ参照を選択できないため、実際には、ポップアップするダイアログで [Add other...] をクリックする必要があります。
追加すると、XCode から「外部ビルド システム プロジェクトを作成する」かどうか尋ねられます。チェックを入れたままにし、2 つのフィールドにデフォルト値「/usr/bin/make」と「$(ACTION)」を設定します。ただし、私のコードベースはビルド中にコンパイルされません。独自の Makefile を作成する必要がありますか?
「Create external build system project」を選択しないと、ターゲットの下にディレクトリ参照が作成されますが、ビルド中にコンパイルされず、警告が表示されます。
warning: no rule to process file '$(PROJECT_DIR)/../codebase'
of type folder for architecture i386