私の既存のC++コードベースをXCode iOSプロジェクトに 'インポート'しようとしています。既存の(C++)コードベースをXCode 4.3(.1)に組み込み、コンパイルしてリンクするためにXCodeを取得する
問題は、xCodeは自分のコードをコンパイルしない(したがってリンクしない)ということです。 これは私がこれまで行ってきたことです:
- ファイル> "プロジェクト"にファイルを追加してください。複数のプラットフォームで共有されているコードベースで、ソースコードの複数のコピーがオプションではないので、「ファイルをコピーする」にチェックマークを付けません。
- "ヘッダー検索パス"プロジェクト設定に適切なパスを追加しました。ヘッダーファイルを含め、Objective-C++(.mm)ファイルから "stuff.h"を#includeできます。
しかし、実際に.cppファイルをコンパイルするようにXCodeに指示する方法はありません。
いくつかのポイント:私は事前にライブラリにコンパイルする方法を探して、その道
- は、標準のiOS Objective-Cのプロジェクトです。そこから呼び出されたC++コード(それは問題ではない)私は、ターゲットの「ソースをコンパイル」にコードベースディレクトリを追加しました
を更新。私は実際に私のコードベースへのディレクトリ参照を選択することができないので、私は実際には、 "他の追加..."をクリックしてダイアログがポップアップする必要があります。
私が追加すると、「外部ビルドシステムプロジェクトを作成する」かどうかをXCodeから聞いてきます。デフォルト値 "/ usr/bin/make"と "$(ACTION)"の2つのフィールドにチェックを入れておきます。しかし、私のコードベースはビルド中にコンパイルされません。自分のMakefileを書く必要がありますか?
私は、ディレクトリの参照がターゲットの下に作成されますが、ビルド時にコンパイルされていないと警告が発せられるされ、その後、「外部のビルドシステムのプロジェクトを作成」を選択しない場合:
warning: no rule to process file '$(PROJECT_DIR)/../codebase'
of type folder for architecture i386
[ターゲットに追加]の下にあるターゲット(1つだけ)がチェックされています。 – olafure
あなたのcppファイルは、** Compile Sources **にリストされていますか?あなたがそれらを追加しようとしていない場合は? – sch
私たちはそこに着いています:)単一の.cppファイルを追加すると、ビルドに含まれます!しかし、ディレクトリ全体を選択した場合(私の更新された質問を参照)、何も構築されません。私はむしろすべての私のgazillion .cppファイルを手動で選択しないでください(パスを間違っていると手動でファイルを追加/削除する必要が追加された地獄を含む) – olafure