2012-07-27 2 views
0

cmake 스크립트를 사용하는 Firebreath Visual Studio 솔루션을 준비하는 데 문제가 있습니다. findboost.cmake 모듈에 문제가있는 것 같습니다. 이것은 내가 받고있는 오류입니다 :findboost.cmake를 실행하는 가장 기본적인 예제

CMake Error at C:/Users/chenning/cmake-2.8.8-win32-x86/share/cmake-2.8/Modules/F 
indBoost.cmake:1200 (message): 
    Unable to find the requested Boost libraries. 

    Boost version: 1.50.0 

    Boost include path: c:/boost 

    The following Boost libraries could not be found: 

      boost_date_time 

    No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the 
    directory containing Boost libraries or BOOST_ROOT to the location of 
    Boost. 

부스트 루트는 c : \ boost 여야합니다.

해당 모듈을 테스트하기위한 가장 기본적인 스크립트 또는 명령 줄 (Windows 7)은 무엇입니까? BOOST_ROOT, BOOST_INCLUDE_DIR 및 BOOST_LIBRARYDIR에 대한 올바른 값을 알아야합니다. 앞서, 기독교

감사

답변

1
당신은 몇 가지 예를 또한 부스트 디버깅 옵션을 사용할 수 있습니다 here

볼 수 있습니다

:

set (Boost_DEBUG Yes) 

을 나는있어주의해야합니다, CMake이 버전의 경우 Boost-1.50을 검색 할 수 있으므로 사용할 수 있습니다.

    set(Boost_ADDITIONAL_VERSIONS "1.50" "1.50.0") 

이것은 부스트의 최신 버전을 찾는 데 도움이됩니다

+0

답해 주셔서 감사합니다. 모든 종류의 변수를 설정했지만 여전히 작동하지 않습니다. 나는 출력을 여기에 게시했다 : http://pastebin.com/6tiRftVW 어떤 이유로 나는 항상 Boost_FOUND = FALSE로 끝난다. 누락 된 것이 무엇인지 알아낼 수 있습니까? – chhenning

+0

내 문제는 내가 Boost_USE_STATIC_RUNTIME = off해야 findboost.cmake가 내 라이브러리의 이름과 일치 할 수 있다는 것이다. – chhenning

+0

부스트의 헤더가 올바르게 검색되었으므로 문제는 라이브러리 (스레드 등)를 찾는 것입니다. 어쩌면 컴파일 된 라이브러리 중 일부가 누락되었을 수 있습니다. build-type = complete (또는 이와 비슷한 것) 옵션으로 부스트를 다시 빌드하십시오. – Alexey