2015-02-02 2 views
0

Windows의 Cygwin 터미널에서 Cmake를 구성하려고하는데, Boost 라이브러리가/usr/src/boost_1_54_0/libs에 있습니다. 내 CMake 구성 파일에는 다음이 포함 그러나cygwin cmake가 부스트 라이브러리를 찾을 수 없습니다.

set(Boost_USE_STATIC_LIBS ON) 
set(Boost_USE_MULTITHREADED ON) 
set(Boost_USE_STATIC_RUNTIME OFF) 
find_package(Boost 1.54.0 COMPONENTS date_time filesystem program_options serialization thread REQUIRED) 
include_directories(${Boost_INCLUDE_DIRS}) 

, CMake는 나에게 다음과 같은 오류 제공 :

Boost version: 1.54.0 

Boost include path: /usr/src/boost_1_54_0 

The following Boost libraries could not be found: 

     boost_date_time 
     boost_filesystem 
     boost_program_options 
     boost_serialization 
     boost_thread 

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. 

가 그럼 난 수동으로 find_package 방법 전에 다음 행으로 Boostlib의 디렉토리를 지정하는 노력을 :

set(BOOST_LIBRARYDIR /usr/src/boost_1_54_0/libs) 

그러나 작동하지 않습니다.

아무도 도와 줄 수 있습니까?

+0

메시지는 CMake가 헤더를 찾을 수 있음을 나타냅니다 아닌 libs가. '/ usr/src/boost_1_54_0/libs'의 내용은 무엇입니까? Cygwin에서 성공적으로 사용하고 있기 때문에'Boost_USE_STATIC_LIBS OFF'를 사용하면 어떻게됩니까? – DevSolar

+1

http://www.boost.org/doc/libs/1_57_0/more/getting_started/unix-variants.html에서 제안하는 것과 같이 부스터의 헤더 전용 라이브러리를 구축하지 않았습니까? –

+0

디렉토리/usr/src/boost_1_54_0/libs에 모든 패키지가 포함되어 있습니다. 매개 변수를 OFF로 설정하면 같은 오류가 발생합니다. –

답변

0

부스트 라이브러리를 찾으려면 cmake는 환경 변수 BOOST_ROOT에 의존합니다. 부스트 lib (libs 아님) 및 include

을 포함하는 디렉토리를 가리켜 야합니다. cmake를 호출하기 전에 Cygwin에서 정의하십시오. 작동해야합니다.

CSH에서

:

setenv BOOST_ROOT "/usr/src/boost_1_54_0" 
관련 문제