首页 > 其他分享 >Cpp DenseNet OpenVino CMake工程

Cpp DenseNet OpenVino CMake工程

时间:2024-08-06 12:55:04浏览次数:12  
标签:openvino set CMake Network OpenVino Cpp CMAKE DenseNet

Cpp OpenVino CMake

Python版本导引

CMake工程示例

测试性质的工程结构如下:

Project:

  • Network: 存放网络推理相关
    • DebugTools: 打印网络结构
    • DenseGradeWrapper: 推理主结构
    • NetworkTools: 部分CV辅助函数
  • Script: 存放前面博客中的导出以及验证Py文件
  • CMakeLists.txt: cmake工程文件
  • main.cpp: 简单的执行文件

CMake示例

OpenCV和OpenVINO的CMake引入都比较简单,本身框架也比较规范,在后面将会编写Tensorrt版本的博客,相对来说CMake就要复杂一点

CMake只要链接openvino::runtime就可轻松包含OpenVINO的头文件和lib相关位置,如果无法编译,请手动链接静态库版本,这也是Windows的通病了,Linux下推荐链接动态库

如果不需要使用Qt的相关库,可以自行删除,个人使用OpenVINO主要集成于Qt,所以直接使用Qt的默认配置进行了添加修改

cmake_minimum_required(VERSION 3.14)

project(openvino-cpu-win-msvc2019 LANGUAGES CXX)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# find openvino
set(OpenVINO_DIR "C:/Program Files (x86)/Intel/openvino_2024/runtime/cmake")
set(OpenCV_DIR "C:/Program Files/opencv460/build/x64/vc15/lib")

find_package(OpenCV)
find_package(OpenVINO REQUIRED COMPONENTS Runtime)

# find qt core
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core)

add_executable(openvino-cpu-win-msvc2019
  main.cpp
  Network/DebugTools.h Network/DebugTools.cpp
  Network/NetworkTools.h Network/NetworkTools.cpp
  Network/DenseGradeWrapper.h Network/DenseGradeWrapper.cpp
)

target_include_directories(openvino-cpu-win-msvc2019
    PRIVATE
        ${OpenCV_INCLUDE_DIRS}
        .
)

target_link_libraries(openvino-cpu-win-msvc2019
    Qt${QT_VERSION_MAJOR}::Core
    openvino::runtime
    ${OpenCV_LIBS}
)

include(GNUInstallDirs)
install(TARGETS openvino-cpu-win-msvc2019
    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)


标签:openvino,set,CMake,Network,OpenVino,Cpp,CMAKE,DenseNet
From: https://blog.csdn.net/qq_34524246/article/details/140914663

相关文章

  • CPP 基于模板的类型相同判断[CPP template-8]
    今天的代码是今年早些时候写的,std库中也有类似的方法。这里我们把思路理一下,写一个自己的类型相同判断模板♪(´▽`)在python中//Typecomparison//基本操作写于24/5/2//功能是通过模板元编程进行两个变量类型的对比//(没错,python中易如反掌的事情,在CPP中需要不一般......
  • cmake配置项目引用动态库
     note#本文将介绍使用FIND_PACKAGE配置项目动态库的方法cmakeversion:3.18platform:win1020H2概述#创建了一个动态库,再由主项目调用该动态库。find<lib库名>.cmake的内容是:1.定义动态库的头文件所在路径2.定义库所在路径写好cmake文件后,也可以方便给其他人调......
  • cmake引入第三方库的debug和release版本之Windows版本
    概述#本文将介绍cmak引入第三方库debug和release不同配置。Windows上,习惯将debug模式下生成的动态库名后缀添加D以作和release区分。cmake创建一个项目A,A引入动态库B,cmake怎么配置A链接动态库B的debug和release对应的库呢本文的教程是基于 这里,如果没有看,我推荐你先看......
  • 【秋招笔试】2024-08-03-科大讯飞秋招笔试题(算法岗)-三语言题解(CPP/Python/Java)
    ......
  • 1、 window平台opencv下载编译, 基于cmake和QT工具链
    1.环境准备,源码下载1.1前置环境qt下载安装cmake安装,可参考:https://blog.csdn.net/qq_51355375/article/details/1391866811.2opencv源码下载官网地址:https://opencv.org/releases/下载源码:2.opencv编译这里使用cmakegui图形化配置,操作简答些。2.1源......
  • clion 《cmake自定义静态库后,生成的exe无法运行》
    背景项目生成lib引入,在生成exe过程中无法正常运行处理办法让链接器静态链接GCC和C++标准库set(CMAKE_EXE_LINKER_FLAGS"-static-libgcc-static-libstdc++")主CMakeLists.txtcmake_minimum_required(VERSION3.28)project(speech)#编译版本set(CMAKE_CXX_STANDAR......
  • macos Cpp webserver的例子
    一、hello.h#include<iostream>usingnamespacestd;intns__hello(std::string*name,std::string&greeting);~二、helloclient.cpp#include"soapH.h"#include"ns.nsmap"......
  • CMAKE 《多模块例子》
    概述生成sort\calc的静态库,并生成app1.exeapp2.exe目录结构CMakeLists.txt位置以及配置根CMakeLists.txtcmake_minimum_required(VERSION3.15)project(mulitiple_modules)set(CMAKE_CXX_STANDARD17)#definevariables#LIBPATH库存储位置set(LIBPATH${PROJECT......
  • 分享LVGL v9移植到imx6ull的过程(CMake)
    最近在做一个用cmake构建的项目需要用到LVGL,但是找资料的时候发现很少有分享v9的移植,自己移植也踩了很多坑所以决定分享一下移植过程。1.LVGL获取gitclonehttps://github.com/lvgl/lv_port_linux.gitgit之后发现这个包的lvgl文件夹里面是空的gitclonehttps://github.......
  • camke(12) 配置yaml-cpp 读取和保存数据
      编译库位置ros环境的yaml会干扰正常环境,CMakeLists要修改下手动指定build文件夹下编译的库  CMakeLists.txtcmake_minimum_required(VERSION3.5)project(YamlCppExample)#设置C++标准set(CMAKE_CXX_STANDARD11)#查找yaml-cpp包-ros环境被干扰使用错......