I am Charmie

メモとログ

vcpkg: install on Ubuntu 20.04

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
)