プロジェクトにCチェックフレームワークを統合していますが、実行できました
autoreconf --install
エラーなしで成功。
しかし、C チェック フレームワークを統合すると、意味のないエラーと警告が表示されます。
ここに私が得ているエラーがあります
src/Makefile.am:7: warning: variable 'main_LDADD' is defined but no program or
src/Makefile.am:7: library has 'main' as canonical name (possible typo)
tests/Makefile.am:2: error: 'SHELLTESTS_PROGRAMS' is used but 'SHELLTESTSdir' is undefined
tests/Makefile.am:3: warning:variable 'ShellTests_SOURCES' is defined but no program or
tests/Makefile.am:3: library has 'ShellTests' as canonical name (possible typo)
tests/Makefile.am:5: warning: variable ShellTests_LDADD' is defined but no program or
tests/Makefile.am:5:library has 'ShellTests' as canonical name (possible typo)
autoreconf:automake failed with exit status: 1
私は C チェックのサンプル ソース コードに従いました。それと私のプロジェクトの違いは、私のクラスが他のクラスのメソッドを使用することです。
とにかく、これはプロジェクトのビルドに「大混乱」を引き起こしている私のテストの下の Makefile.am です/
TESTS = shelltests
SHELLTESTS_PROGRAMS = shelltests
ShellTests_SOURCES = ShellTests.c $(top_builddir)/src/Shell.h $(top_builddir)/src/Parser.h $(top_builddir)/src/JobControl.h
ShellTests_CFLAGS = @CHECK_CFLAGS@
ShellTests_LDADD = $(top_builddir)/src/libshell.la @CHECK_LIBS@
これは私のプロジェクト
src のファイル構造です - Parser.h、Parser.c、Shell.h、Shell.c、Job.h、Job.c、Makefile.am
テスト - ShellTests.c Makefile.am
これは、src の下の Makefile.am のコードです。
lib_LTLIBRARIES = libshell.la
libshell_la_SOURCES = Shell.c Shell.h Parser.h Parser.c JobControl.h JobControl.c
bin_programs = main
main_sources = Main.c
main_LDADD = libshell.la
このユーザーのアドバイスに従って、エラーが削除されるかどうかを確認しました: "エラー: 'extra_PROGRAMS' が使用されていますが、'extradir' は定義されていません" にはどのディレクトリを使用すればよいですか? 残念ながら、そうではありません。
サンプル プロジェクトをビルドしてみました。これは、例の下でダウンロードしたときに得られるもので、何か不足していないかどうかを確認します。しかし、私のマシンではビルドできません。
Mac OS X Mavericks (10.9) を使用しています
- Autoconf 2.69
- オートメイク 1.15
- ライブラリツール 2.4.6
- 0.9.14をチェック