前回までにPoint Cloud LibraryをVCPKGで導入しました。前回までに作成した単純に点群データを読み込むようなプロジェクトだと、CMakeを使ってVisual Studio用のプロジェクトを生成しようとしても特に問題はありませんでした。ところが、実装するコードによってはBoostなどとの依存関係があり、CMakeでエラーが発生します。VCPKGでのPCLインストール時に依存関係のあるこれらのライブラリも一緒にインストールがされているはずなのに、うまくCMakeが通らずに苦労しましたが、何とか解決出来ましたので、その方法を投稿しておきます。
ソースコード(resampling.cpp)とCMakeList.txtはC:\src\surface_estimationというフォルダにある前提です。
CMakeList.txtは下記のような記述です。
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(resampling)
find_package(PCL 1.2 REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable (resampling resampling.cpp)
target_link_libraries (resampling ${PCL_LIBRARIES})
C:\src\surface_estimation\buildをビルドフォルダとして設定する場合は下記のようなコマンド引数でCMakeを実行します。
& 'C:\Program Files\CMake\bin\cmake.exe' -BC:\src\surface_estimation\build -G "Visual Studio 16 2019" -A x64 -DPCL_BUILD_WITH_QHULL_DYNAMIC_LINKING_WIN32=ON -DPCL_BUILD_WITH_BOOST_DYNAMIC_LINKING_WIN32=ON -DPCL_BUILD_WITH_FLANN_DYNAMIC_LINKING_WIN32=ON -DCMAKE_TOOLCHAIN_FILE=C:\src\vcpkg\scripts\buildsystems\vcpkg.cmake
これでBoostなどのエラーが出ずに無事にC:\src\surface_estimation\build\resampling.sln というプロジェクトファイルが生成されます。
-G "Visual Studio 16 2019" -A x64の部分はご利用のVisual Studioのバージョンに応じて変更してください。
ソースコード(resampling.cpp)とCMakeList.txtはC:\src\surface_estimationというフォルダにある前提です。
CMakeList.txtは下記のような記述です。
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(resampling)
find_package(PCL 1.2 REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable (resampling resampling.cpp)
target_link_libraries (resampling ${PCL_LIBRARIES})
C:\src\surface_estimation\buildをビルドフォルダとして設定する場合は下記のようなコマンド引数でCMakeを実行します。
& 'C:\Program Files\CMake\bin\cmake.exe' -BC:\src\surface_estimation\build -G "Visual Studio 16 2019" -A x64 -DPCL_BUILD_WITH_QHULL_DYNAMIC_LINKING_WIN32=ON -DPCL_BUILD_WITH_BOOST_DYNAMIC_LINKING_WIN32=ON -DPCL_BUILD_WITH_FLANN_DYNAMIC_LINKING_WIN32=ON -DCMAKE_TOOLCHAIN_FILE=C:\src\vcpkg\scripts\buildsystems\vcpkg.cmake
これでBoostなどのエラーが出ずに無事にC:\src\surface_estimation\build\resampling.sln というプロジェクトファイルが生成されます。
-G "Visual Studio 16 2019" -A x64の部分はご利用のVisual Studioのバージョンに応じて変更してください。