2014-02-25 127 views
1

我正在爲我的一個圖像處理任務使用Boost庫。當我嘗試建立使用MSVC++ 10,我得到以下錯誤的程序:LINK:致命錯誤LNK1104:無法打開文件'boost_program_options.lib'

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

CMake的,但是,不顯示任何錯誤&作品就好了。我正在使用Boost 1.55.0。現在我搜索了文件boost_program_options.lib in C:\ 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

你確實建立了boost庫嗎? – Borgleader

+0

你想用msvc + 10使用cmake嗎? – lpapp

+0

@Borgleader是的,C:\ Program Files \ boost \ boost_1_55_0 \ stage \ lib中有.lib文件,所有文件都以前綴'libboost-'開頭。 bjam告訴我把這個目錄添加到VC++的庫目錄中。我想知道'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的文件。你能告訴我它在哪裏嗎? –

相關問題