【发布时间】:2014-02-25 06:39:56
【问题描述】:
我将 Boost 库用于我的一项图像处理任务。当我尝试使用 MSVC++ 10 构建程序时,出现以下错误:
fatal error LNK1104: cannot open file 'boost_program_options.lib'
但是,CMake 没有显示任何错误并且工作正常。我正在使用 Boost 1.55.0。现在我在 C:\Program Files\boost\boost_1_55_0 中搜索文件 boost_program_options.lib 但没有这样的文件。请告诉我我应该怎么做才能让我的程序正常工作。我的 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})
如果这个问题已经被回答,请把我重定向到那里。但是,我没有找到这个问题的答案。
【问题讨论】:
-
您确实构建了 boost 库,对吗?
-
您是否尝试将 cmake 与 msvc+10 一起使用?
-
@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'?
-
@LaszloPapp 我想你的意思是 MSVC++ 10?是的。
-
@Captain_Haddock,不,它们不相等,但我不知道为什么要使用 VC++ 和 cmake。你是想用 cmake 生成 VS 项目还是你到底想做什么?
标签: c++ visual-studio boost cmake visual-studio-2010