2012-02-06 12 views
4

私はXcode 4プロジェクトでbisonパーサジェネレータを使用しています。私はC++を生成するためのカスタムビルド規則書いた - * .Y文法ファイルからソースファイル:あなたが見ることができるようにXcode 4.2 - プロジェクトに派生ファイルを追加

/usr/local/bin/bison 
--defines="${DERIVED_FILES_DIR}/${INPUT_FILE_BASE}.hpp" 
--output="${DERIVED_FILES_DIR}/${INPUT_FILE_BASE}.cpp" 
--verbose "${INPUT_FILE_PATH}" 

を、Xcodeの場所は$DERIVED_FILES_DIRフォルダ内のファイルを生成しました。今度は、生成されたヘッダファイルgrammar.hppをオブジェクトファイルとともにライブラリとしてエクスポートする必要があります。

Xcodeでは、プロジェクトに含まれていないエクスポートファイルは許可されません。

最初の解決策は、絶対パスが$DERIVED_FILES_DIRに設定されたグループを作成することです。実際には、$DERIVED_FILES_DIRがビルド設定に依存しているため、リリース設定をビルドするためにビルド設定を変更するまで機能します。 How to reference files with environment variables?File references relative to DERIVED_FILE_DIR in Xcode: 第二の溶液を何とかすなわち

path = $DERIVED_FILES_DIR 

これまでのところ、私はそれを行うには、次の2つの方法を見つけた、文字通りの変数にグループパスを設定されています。いずれにしても私にとってはうまくいかない。

おそらく誰かがプロジェクトに生成されたファイルを追加する良い方法を知っていますか?

答えて

0

あなたの最良のオプションは以下のとおりです。

  1. BUILT_PRODUCTS_DIR

をファイルを生成し、あなたのSRCROOT内のファイルを生成し、これらの両方のオプションがあり「へ...相対」それはあなたができるようにすべきですプロジェクトにファイルを追加します。

0

私はディレクトリにカスタムmakeビルドターゲットを作成しました。これは、派生したファイルを再生成することを処理するMakefileを使用しています。私はこれらの生成されたファイルをプロジェクトに追加しました。実際のビルドターゲットはすべてmakeターゲットに依存しています。

関連する問題