5

2 日前、autotools を使用してプロジェクトをコンパイルするために、外部プロジェクトを追加しました。それは今日まで完全に機能していました...

奇妙なエラーがあります:

/usr/share/cmake-2.8/Modules/ExternalProject.cmake:710 での CMake エラー (メッセージ): エラー: 'libantlr3c' のダウンロード情報がありません -- 既存の SOURCE_DIR または URL、CVS_REPOSITORY および CVS_MODULE、SVN_REPOSITORY または DOWNLOAD_COMMAND のいずれかを指定してください

そして、これらのルールの 1 つが実際に指定されています (SOURCE_DIR):

cmake_minimum_required(VERSION 2.8)
# ...
include(ExternalProject)
ExternalProject_Add(
  libantlr3c
  SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/libantlr3c-3.1.3
  CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/libantlr3c-3.1.3/configure --prefix=${CMAKE_CURRENT_SOURCE_DIR}/lib/libantlr3c-3.1.3
  PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/lib/libantlr3c-3.1.3
  BUILD_COMMAND make
  BUILD_IN_SOURCE 1
)

したがって、このエラーには意味がありません...昨日は完全に機能していました(今まで何も変わっていません)。

何か案が ?

ありがとうございました!

4

2 に答える 2

3

2.8.6 でも同様の問題があり、ドキュメントはあまり役に立ちませんでした。必要なヒントを与えてくれるオンラインの例を見つけました。

URL 引数を使用する必要がありますが、落とし穴があります。ディレクトリへのパスを指定すると、ディレクトリではなくアーカイブを指すと見なされます。パスの先頭に「file://」を追加する必要があります。次に例を示します。

ExternalProject_Add(
  libantlr3c
  URL file://${CMAKE_CURRENT_SOURCE_DIR}/lib/libantlr3c-3.1.3
  SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/libantlr3c-3.1.3
  CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/lib/libantlr3c-3.1.3/configure --prefix=${CMAKE_CURRENT_SOURCE_DIR}/lib/libantlr3c-3.1.3
  PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/lib/libantlr3c-3.1.3
  BUILD_COMMAND make
  BUILD_IN_SOURCE 1
)

<project>-mkdir今、私は(私のプロジェクトで)なぜそれが存在しないのに探しているのかを理解する必要があります。

于 2012-01-26T19:06:00.317 に答える
3

これは 2.8.0 バージョンからのバグです。バージョン 2.8.3 以降をインストールしてください...

于 2011-05-15T18:02:36.527 に答える