cmakelist中查找boost和eigen3

本文指导如何在Windows和Linux系统上安装Boost1.76.0和Eigen33.3.9,包括设置环境变量、配置CMakeLists.txt以找到并链接库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一,安装

boost:windows需要根据自己的msvc版本安装boost(比如我安装的是boost_1_76_0-msvc-14.1-64.exe),linux使用apt-get install libboost-all-dev。

eigen3:windows需要下载eigen3的库,linux使用apt-get install libeigen3-dev。

二,设置环境变量

windows系统需要设置环境变量,linux系统不需要任何设置。

BOOST_ROOT:G:\external\boost_1_76_0

EIGEN3_ROOT:G:\external\eigen-3.3.9

三,cmakelist代码

cmakelist.txt代码如下:

find_package(Boost 1.71.0 REQUIRED system thread)
if(Boost_FOUND)
    message(STATUS "Boost version      : ${Boost_VERSION}")
    message(STATUS "Boost header       : ${Boost_INCLUDE_DIRS}")
    message(STATUS "Boost libraries    : ${Boost_LIBRARIES}")
    message(STATUS "Boost library dirs : ${Boost_LIBRARY_DIRS}")
    include_directories(${BOOST_INCLUDE_DIRS})
    if(WIN32)
        link_directories(${Boost_LIBRARY_DIRS})
    endif()
endif()

if(WIN32)
    set(CMAKE_MODULE_PATH "$ENV{EIGEN3_ROOT}/cmake;${CMAKE_MODULE_PATH}")
endif()
find_package(Eigen3 3.3.7 REQUIRED)
if(EIGEN3_FOUND)
    if(NOT DEFINED EIGEN3_VERSION)
        set(EIGEN3_VERSION ${EIGEN3_VERSION_STRING})
    endif()
    message(STATUS "Eigen3 version : ${EIGEN3_VERSION}")
    message(STATUS "Eigen3 header  : ${EIGEN3_INCLUDE_DIR}")
    add_definitions(-DEIGEN_MPL2_ONLY)
    add_definitions(-D_ENABLE_EXTENDED_ALIGNED_STORAGE)
    include_directories(${EIGEN3_INCLUDE_DIRS})
endif()

以上设置完成就可以在代码中使用boost和eigen3了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值