0

Checkを使用して記述されたテストの 1 つにファイルを使用する必要があります。最初にパスをハードコーディングしましたが、うまくいきました。ただし、コードがソース ディレクトリの外でビルドされている場合、これは機能しませんでした。私は次の解決策を思いつきました。(次に、パス名の前に を付けますTESTS_DIR)

# Set correct directory for test files
AS_IF([test "x$srcdir" = x.],
      [TESTS_DIR=""],
      [TESTS_DIR="$srcdir/tests/"])
AC_DEFINE_UNQUOTED([TESTS_DIR], ["$TESTS_DIR"], [directory for test files])

残念ながら、これは で再び失敗しmake distcheckます。特定のパスのレイアウトと構造を投稿できますが、これらすべての場合にソース ディレクトリ内のファイルを参照する「簡単な」方法があるかどうか疑問に思っています。ありがとう!

更新:絶対パスを使用しようとしましたが$abs_top_srcdir、で定義を更新しようとしたときに設定されていないようですconfigure.ac。それがなぜなのかについての考えをいただければ幸いです。

4

1 に答える 1

0

問題は$top_srcdir、構成時に設定されていないことにあることがわかりました。代わりに、テストに を追加-DTESTS_DIR="\"$(top_srcdir)/tests/\""し、テスト ファイルを含むすべてのディレクトリを.AM_CFLAGSMakefile.amEXTRA_DIST

于 2010-09-04T23:44:00.110 に答える