Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Build 使用ExternalProject生成错误_Build_Cmake_Build Process_Autotools_External Project - Fatal编程技术网

Build 使用ExternalProject生成错误

Build 使用ExternalProject生成错误,build,cmake,build-process,autotools,external-project,Build,Cmake,Build Process,Autotools,External Project,两天前,我添加了一个外部项目来使用autotools编译一个项目。直到今天,它一直工作得很好 我有一个奇怪的错误: CMake错误在 /usr/share/cmake-2.8/Modules/ExternalProject.cmake:710(消息):错误:无下载信息 对于“libantlr3c”-请指定现有源目录或URL、CVS_存储库和CVS_模块、SVN_存储库或下载_命令中的一个 实际上指定了其中一个规则(SOURCE_DIR): 所以这个错误没有任何意义。。。昨天它工作得很好(到现在为

两天前,我添加了一个外部项目来使用autotools编译一个项目。直到今天,它一直工作得很好

我有一个奇怪的错误:

CMake错误在 /usr/share/cmake-2.8/Modules/ExternalProject.cmake:710(消息):错误:无下载信息 对于“libantlr3c”-请指定现有源目录或URL、CVS_存储库和CVS_模块、SVN_存储库或下载_命令中的一个

实际上指定了其中一个规则(SOURCE_DIR):

所以这个错误没有任何意义。。。昨天它工作得很好(到现在为止没有任何变化)

有什么想法吗


谢谢大家!

这是2.8.0版本的错误。安装2.8.3版或更高版本…

即使是2.8.6版,我也遇到了类似的问题,文档也没有多大帮助。我在网上找到了一个例子,给了我需要的提示

您需要使用URL参数,但有一个问题。如果只给它direcotry的路径,它会假定您将它指向一个存档,而不是一个目录。您必须在路径前面加上“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
)
现在我只需要弄清楚(在我的项目中)为什么它在不存在的情况下寻找
-mkdir

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
)