vcpkgでインストールに成功・失敗したパッケージのまとめ
library | version | OS | result |
---|---|---|---|
ceres | 1.14.0-7 | mac | o |
boost | 1.73.0 | mac | x (boost-python) |
g2o | 2020-02-07 | mac | o |
gtest | 1.10.0 | mac | o |
CMakeLists.txtでの設定についてはインストール後に表示されるメッセージに従う.
# このinclude()は必須かも include(VCPKG_ROOT_DIRECTORY/scripts/buildsystems/vcpkg.cmake) # ceres find_package(Ceres CONFIG REQUIRED) target_link_libraries(main PRIVATE ${CERES_LIBRARIES}) # g2o find_package(g2o CONFIG REQUIRED) # Note: 17 target(s) were omitted. target_link_libraries(main PRIVATE g2o::core g2o::stuff g2o::types_icp g2o::types_sba) # gtest enable_testing() find_package(GTest CONFIG REQUIRED) target_link_libraries(main PRIVATE GTest::gtest GTest::gtest_main GTest::gmock GTest::gmock_main) add_test(AllTestsInMain main)
memo
g2oのエラー
使い方が悪いのかもしれないけど,g2oを使おうとした時に気をつけなければイケない点
- C++のバージョンを11 (か,それ以上)にしなければいけない
- g2o, suitesparse関連のキャッシュ変数を自分で用意する必要あり
- find_package()でg2oが見つかっても,include directoryやlibrary名がキャッシュ変数に登録されない
- g2oとvcpkgのどちらに問題があるのか不明
# C++11を使用 set(CMAKE_CXX_STANDARD 11) # SuiteSparseのインクルードディレクトリを設定 set(CSPARSE_INCLUDE_DIR "/VCPKG_ROOT_DIRECTORY/installed/x64-osx/include/suitesparse") include_directories(${CSPARSE_INCLUDE_DIR})