一,安装
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了。