2011-05-13 5 views
4

2 일 전 외부 프로젝트를 추가하여 autotools를 사용하여 프로젝트를 컴파일했습니다.ExternalProject와 CMake 오류가 발생했습니다

CMake Error at /usr/share/cmake-2.8/Modules/ExternalProject.cmake:710 (message): error: no download info for 'libantlr3c' -- please specify existing SOURCE_DIR or one of URL, CVS_REPOSITORY and CVS_MODULE, SVN_REPOSITORY or DOWNLOAD_COMMAND

그리고 실제로 지정이 규칙 중 하나 (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 
) 

그래서이 오류는 'hasn 어떤 의미인지 ... 그리고 그것은 어제 완벽하게 일하고있었습니다 (지금까지는 아무 것도 변하지 않았습니다).

아이디어가 있으십니까?

감사합니다.

답변

3

이것은 2.8.0 버전의 버그입니다. 버전 2.8.3 또는 상위 버전을 설치하십시오.

3

2.8.6에서도 비슷한 문제가 있었으며 설명서가별로 도움이되지 않았습니다. 나에게 내가 필요한 힌트를 준 온라인 예를 발견했다.

URL 인수를 사용해야하지만 catch가 있습니다. 디렉토리에 대한 경로 만 지정했다면 디렉토리가 아닌 아카이브를 가리 키도록 가정합니다. 예를 들면 : 당신은 "// 파일"로 경로를 앞에 추가해야

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 찾고 왜 (내 프로젝트) 파악해야합니다.

관련 문제