1

プロジェクトに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をチェック
4

1 に答える 1

1

このプロジェクトを成功させるために、いくつかのことを行いました。私は最初にここで概説したことに従いました: 「./configure」の実行時にエラーが発生するフレームワークの例を確認してください

次に、テスト ソース ファイルの c check フレームワークの命名規則に従いました。

助けてくれてありがとう、コンパイルエラーの原因についていくつかのアイデアをくれました。

于 2015-04-20T09:00:04.760 に答える