小编Ijo*_*chy的帖子

add_subdirectory 中的 CMake 导入目标在主 CMakeLists.txt 中不可用

我想构建一个依赖于 OpenCV(版本 3.4.6)即模块的应用程序。该模块具有 VTK 库(版本 7.1.1)作为依赖项。我想使用ExternalProject 来构建vtk 库和opencv viz 模块,然后想要构建主应用程序,所有这些都在一次cmake 运行中完成。

\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 CMakeLists.txt\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 deps\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 CMakeLists.txt\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 main.cpp\n
Run Code Online (Sandbox Code Playgroud)\n

我使用 cmakeExternalProject 模块在子目录中构建 opencv 和 vtk,如下所示:

\n

deps/CMakeLists.txt

\n
cmake_minimum_required(VERSION 3.14)\n\nproject(dependencies)\n\ninclude(ExternalProject)\n\nExternalProject_add(\n  vtklib\n  GIT_REPOSITORY https://github.com/Kitware/vtk\n  GIT_TAG v7.1.1\n  GIT_PROGRESS TRUE\n  UPDATE_COMMAND ""\n  CMAKE_ARGS\n  -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}\n  -DBUILD_TESTING=OFF\n  -DBUILD_EXAMPLES=OFF\n  -DVTK_DATA_EXCLUDE_FROM_ALL=ON\n  -DVTK_USE_CXX11_FEATURES=ON\n  -Wno-dev\n  )\n\nadd_library(vtk INTERFACE IMPORTED GLOBAL)\nadd_dependencies(vtk vtklib)\n\nExternalProject_add(\n  ocv\n  GIT_REPOSITORY https://github.com/opencv/opencv\n  GIT_TAG 3.4.6\n  GIT_PROGRESS TRUE\n  UPDATE_COMMAND ""\n  CMAKE_ARGS\n  -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}\n  -DWITH_VTK=ON\n  -Wno-dev\n  )\n\n\n# ExternalProject_Get_Property(ocv install_dir)\n# include_directories(${install_dir}/src/ocv/include)\ninclude_directories(${CMAKE_INSTALL_PREFIX}/include)\n\nset(ocv_libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_VS_PLATFORM_NAME}/vc15)\nset(OCV_VERSION 346)\n\nadd_dependencies(ocv vtklib)\n\nadd_library(opencv_core SHARED IMPORTED)\nset_target_properties(opencv_core PROPERTIES\n  IMPORTED_IMPLIB "${ocv_libdir}/lib/opencv_core${OCV_VERSION}.lib"\n  IMPORTED_LOCATION "${ocv_libdir}/bin/opencv_core${OCV_VERSION}.dll"\n  )\n\nadd_library(opencv_viz SHARED …
Run Code Online (Sandbox Code Playgroud)

c++ opencv cmake

4
推荐指数
1
解决办法
1460
查看次数

标签 统计

c++ ×1

cmake ×1

opencv ×1