Cygwin Cmake找不到提升库

cygwin cmake cannot find boost library

本文关键字:找不到 Cmake Cygwin      更新时间:2023-10-16

我正在尝试从Windows的Cygwin终端配置Cmake,我的Boost库位于/usr/src/boost_1_54_0/libs。我的 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)

但它也不起作用。

谁能帮我?

为了找到 Boost 库,cmake 依赖于环境变量 BOOST_ROOT 。它应该指向包含您的 Boost lib(而不是 libs)的目录,并include

在调用cmake之前在Cygwin中定义它,它应该可以工作。

在 csh 中:

setenv BOOST_ROOT "/usr/src/boost_1_54_0"