install vcpkg
/optにインストール
cd /opt git clone https://github.com/microsoft/vcpkg sudo chown -hR charmie11:charmie11 ./vcpkg ./vcpkg/bootstrap-vcpkg.sh
install packages
package | version | notes |
---|---|---|
boost | 1.75.0 | |
eigen3 | ||
ceres-solver | 2.0.0 | vcpkg install ceres |
vcpkg install boost vcpkg install eigen vcpkg install ceres[suitesparse,cxsparse,eigensparse,tools]
Eigen3
The package eigen3:x64-linux provides CMake targets: find_package(Eigen3 CONFIG REQUIRED) target_link_libraries(main PRIVATE Eigen3::Eigen)
ceres-solver
The package ceres:x64-linux provides CMake targets: find_package(Ceres CONFIG REQUIRED) target_link_libraries(main PRIVATE ceres Ceres::ceres)
cmake
方法は2つ 1. cmakeのコマンドライン引数で -DCMAKE_TOOLCHAIN_FILE=/VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake を指定 1. CMakeLists.txt内で変数CMAKE_TOOLCHAIN_FILEをproject()の前に定義
set(VCPKG_ROOT "/opt/vcpkg") set(CMAKE_TOOLCHAIN_FILE "${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake") set(PROJ_NAME "test_vcpkg") project(${PROJ_NAME}) set(CMAKE_CXX_STANDARD 11) find_package(Eigen3 CONFIG REQUIRED) message(STATUS "EIGEN3_INCLUDE_DIR: ${EIGEN3_INCLUDE_DIR}") add_executable(${PROJ_NAME} main.cpp ) target_link_libraries(${PROJ_NAME} PRIVATE Eigen3::Eigen )