2014-02-25 3 views
1

내 이미지 처리 작업 중 하나에 Boost 라이브러리를 사용하고 있습니다. 내가 MSVC++ 10, 나는 다음과 같은 오류가 사용하여 프로그램을 빌드 할 때 :LINK : 치명적인 오류 LNK1104 : 'boost_program_options.lib'파일을 열 수 없습니다.

fatal error LNK1104: cannot open file 'boost_program_options.lib' 

CMake를하지만, & 작품 잘 오류를 표시하지 않습니다. 부스트 1.55.0을 사용하고 있습니다. 이제 boost_program_options.libC : \ Program Files \ boost \ boost_1_55_0에 파일을 검색했지만 해당 파일이 없습니다. 제 프로그램을 작동 시키려면 어떻게해야하는지 말해주세요. 내 CMakeLists.txt 파일에는 다음 행이 포함

FIND_PACKAGE(Boost COMPONENTS REQUIRED) 
IF (Boost_FOUND) 
    MESSAGE("Boost v1.55 found.") 
    INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR}) 
    ADD_DEFINITIONS("-DHAS_BOOST") 
ELSE() 
    MESSAGE("Boost not found.") 
    SET(Boost_INCLUDE_DIR C:/Program Files/boost/boost_1_55_0/boost) 
ENDIF() 
SET(Boost_LIBRARY_DIR C:/Program Files/boost/boost_1_55_0/stage/lib) 

이 이미 대답 한 경우

ADD_EXECUTABLE(RegionCompetition main.cxx) 
TARGET_LINK_LIBRARIES(MyProject boost_program_options ${ITK_LIBRARIES}) 

이,이 날 리디렉션하십시오. 그러나이 질문에 대한 답을 찾지 못했습니다.

+0

당신은 바로 부스트 라이브러리를 만들었습니까? – Borgleader

+0

cmake를 msvc + 10과 함께 사용하려고합니까? – lpapp

+0

@Borgleader 예, C : \ Program Files \ boost \ boost_1_55_0 \ stage \ lib에 .lib 파일이 있으며, 모두 libboost- 접두어로 시작합니다. bjam은 그 디렉토리를 VC++의 Library Directories에 추가하라고했습니다. 나는 'libboost_program_options-vc100-mt-1_55.lib'가 boost_program_options.lib '와 동등한가 궁금합니다.' –

답변

0

boost1.33에서 boost_program_options.lib가 다중 스레드 용 libboost_program_options-mt.dylib로 변경되었습니다. 이 새로운 lib를 사용할 수도 있습니다.

+0

내 stage \ lib 디렉토리에 libboost_program_options-vc100-mt-1_55.lib라는 파일이 있습니다. 나는 그것을 사용하려했지만 행운이 없다. 필자는 libboost_program_options-mt.dylib라는 파일을 찾지 못했습니다. 어디 있는지 말해 줄 수 있어요? –

관련 문제