2017-10-16 8 views
0

REDHAWK IDEは、Makefile.am.ideファイルの作成時に環境変数を拡張することを強く要求しています。例えば、$SRC_ROOT/srcpathであると私は以下のように私のプロジェクトのC/C++セクションのPath and Symbolsウィンドウでパスを含める追加することを前提としていますRHIDEの環境変数に基づいてインクルードディレクトリを拡張せずに追加するには?

${env_var:SRC_ROOT}/include 

生成Makefile.am.ideファイルが含まれています

rehawk_INCLUDES_auto = -I/srcpath/include 

rehawk_INCLUDES_auto = -I$(SRC_ROOT)/include 

このファイルは別のvalを持つ他のチームメンバーによって使用されているため、これは重要です$SRC_ROOTのues。現在はインクルードパスをMakefile.amに置く必要がありますが、IDEはディレクトリ内のヘッダファイルを見ず、見つからないヘッダで参照されるコードのエラーを見ます。

RHIDEを取得しても、環境変数を展開しないでください。Makefile.am.ideが生成されますか?

答えて

0

あなたが探しているものではありませんが、REDHAWK C++自動インクルードビルダを無効にすることによって、Makefile.am.ideの自動更新を常に無効にすることができます。これは、ビルダーセクションのプロジェクトプロパティにあります。

これにより、Eclipseのパスとシンボルのセクションに自動インクルードビルダーを追加せずに、Makefile.am.ideに追加することができます。

このビルダーを無効にする場合は、新しいソースファイルの追加を自分で管理する必要があります。

0

Youssefの答えは悪いものではありませんが、私は問題を回避するために別の方法を考え出してきました。 Makefile.amでは、私はそれがために何をどのようにredhawk_INCLUDES_auto値をオーバーライドします。これは、任意のカスタムはIDEとMakefile.amファイルの両方でディレクトリを含める更新するものを必要としますが、ソースファイルを管理することは、まだ自動化されて

include $(srcdir)/Makefile.am.ide 

#Override the value from Makefile.am.ide that may be wrong! 
override redhawk_INCLUDES_auto = -I$(SRC_ROOT)/include 

Makefile.am.ideファイルの内容が、バージョン管理を複雑にする他の開発者とは異なるという問題があります。だから私はこれが問題の完全な答えとは考えない。

関連する問題