私は、次のプロジェクトツリーがあります。datamodel/
インサイドターゲットを作成するには、noルール「mesh2D.h」、「すべての-AM」によって必要
src
├── Converters
├── datamodel
を私はソースCPPに含めるヘッダーを持っていますファイルはConverters/
です。
は、しかし、私は次のエラーを取得する:あなたの助けのための
がinclude $(top_srcdir)/adm_local/unix/make_common_start.am
AM_CPPFLAGS+= \
-I$(top_srcdir)/src/datamodel
libSource_SOURCES=\
source.cpp \
source.h
include_HEADERS=\
mesh2D.h
SUBDIRS=
include $(top_srcdir)/adm_local/unix/make_common_end.am
ありがとう:
No rule to make target 'mesh2D.h', needed by 'all-am'
これは私のautomake Makefile.am
Converters/
内部です!
重要な情報が欠落していると感じています。確かにそのエラーは、そのディレクトリ内のメイクファイルから来る(そして別のものではなく、おそらくメインレベル)?他のメイクファイルの部分はどのように見えるのですか? あなたは、そのファイルが依存関係にあるが、存在しないルールのどこかにあります。たぶんそれは宣言された依存関係のパスの問題です。これをデバッグするには、完全なプロジェクトのソースが必要です。 – planetmaker
実際に新しいdatamodelサブディレクトリを追加する前に、すべてうまくいきました。私は、データ・モデルからの新しいヘッダーに対してコンパイルするためにConvertersソース・ファイルが必要です – PerelMan