当前位置: 首页 > news >正文

精品成品冈站源码免费p2p网站设计

精品成品冈站源码免费,p2p网站设计,wordpress 图片等比缩放,住房和城市建设部网站1、find_package命令基本介绍 在实际开发过程中,经常不可避免的会使用到第三方开源库,这些开源库可能是通过apt-get install 命令自动安装到系统目录,也可能是由我们自己下载库的源码然后通过编译安装到指定目录的。 不管哪种方式安装的库文…

1、find_package命令基本介绍

在实际开发过程中,经常不可避免的会使用到第三方开源库,这些开源库可能是通过apt-get install 命令自动安装到系统目录,也可能是由我们自己下载库的源码然后通过编译安装到指定目录的。

不管哪种方式安装的库文件,如果我们需要在自己的项目中使用这些库,首先面临的第一个问题就是如何找到这些库。也就是说,根据我们的需要找到指定本版的库头文件包含路径、链接库路径等,从而能够满足我们开发项目的编译链接需要。

CMake提供了find_package()命令用来查找以来包,理想情况下,一句find_package()命令就能把一整个依赖包的的头文件包含路径、库路径、库名字、版本号等情况都获取到,后续只管用就好了。但实际使用过程肯呢个会出现这样那样的问题,因此需要我们对find_package这个强大的命令有个大概的理解。

2、一个使用find_package命令的例子

例子说明:用OpenCV库举例子,示范如何通过find_package命令找到OpenCV库并配置,从而能够在我们自己的项目中调用OpenCV库,实现特定的功能。

下面的代码主要实现了利用OpenCV载入一张图片并进行显示。

opencv_test.cpp

#include "opencv2/core.hpp"
#include "opencv2/highgui.hpp"#include <iostream>using namespace std;
using namespace cv;int main(){Mat image;image = imread("../flower.jpg");if(!image.data){cout <<"No image data\n";return -1;}namedWindow("Display Image", WINDOW_AUTOSIZE);imshow("Display Image", image);waitKey(0);return 0;
}

CMakeLists.txt:

cmake_minimum_required(VERSION 3.5)project(opencv_example LANGUAGES CXX)# Enable C++11
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)# 搜索OpenCV的头文件路径、库文件路径等信息
# REQUIRED 表示一定要找到包,否则立即停掉整个CMake
find_package(OpenCV  REQUIRED) # 打印
message(STATUS "    config: ${OpenCV_DIR}")
message(STATUS "    version: ${OpenCV_VERSION}")
message(STATUS "    include: ${OpenCV_INCLUDE_DIRS}")
message(STATUS "    libraries: ${OpenCV_LIBS}")# 可以不用指定关于Opencv的头文件、库的搜索路径
#include_directories(${OpenCV_INCLUDE_DIRS})
#link_directories(${OpenCV_DIR})# 生成可执行二进制文件
add_executable(opencv_example main.cpp)# Link your application with Opencv libraries
target_link_libraries(opencv_example PRIVATE ${OpenCV_LIBS})

2.1 编译运行

在源码路径打开终端,执行

mkdir build
cd bild
cmake ..
make 

在源码路径下放置一张图片并命名为flower.jpg,运行:

./opencv_example

2.2 编译输出与分析

执行cmak ..命令时输出为:

-- The CXX compiler identification is GNU 11.3.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenCV: /usr/local (found version "4.5.0") 
--     config(OpenCV_DIR): /usr/local/lib/cmake/opencv4
--     version: 4.5.0
--     include: /usr/local/include/opencv4
--     libraries: opencv_calib3d;opencv_core;opencv_dnn;opencv_features2d;opencv_flann;opencv_gapi;opencv_highgui;opencv_imgcodecs;opencv_imgproc;opencv_ml;opencv_objdetect;opencv_photo;opencv_stitching;opencv_video;opencv_videoio
-- Configuring done
-- Generating done
-- Build files have been written to: /home/lrj/work/opencv_example/build

3、注意

CMake本身不提供任何搜索库的便捷方法,所有搜索库并给变量复制的操作必须由CMake代码完成,也就是OpenCV_DIR目录下的<PackageName>Config.cmake或Find<PackageName>.cmake的配置文件。只不过库的作者通常会提供这两个文件,以方便使用者调用。

如果这个以来保是我们自己开发的,应该如何配置这个包生成这些配置文件,从而能够被其他项目利用find_package命令来配置我们自定义的包呢?

这就需要学习如何使用Cmake封装自己软件包。(原博主暂时未更新此部分)

另外find_package命令有两种工作模式,这两种工作模式的不同决定了其搜包路径的不同,有兴趣的可以看看下面这个链接,初学者暂时学到这里,有需要再补充学习:“轻松搞定CMake”系列之find_package用法详解_zhanghm1995的博客-CSDN博客_find_package

其实还有好多东西可以学,比如target_link_libraries这个指令可以详细了解下等等。但是作为初学者,不要贪多,一定要明确自己现在学的部分是服务哪个分支,而不是一网下去什么鱼都想捞上来。

参考:

“轻松搞定CMake”系列之find_package用法详解_zhanghm1995的博客-CSDN博客

http://www.yayakq.cn/news/610311/

相关文章:

  • 医学关键词 是哪个网站做宿迁建设局网站
  • 网站没排名怎么办长春制作手机网站
  • 18款禁用网站app全部层次结构分明的网站配色方案
  • 深圳建站服务中心物流网站建设推广
  • 网站弹出咨询这个怎么做二级网站模板
  • 信息图表设计网站哈尔滨网站开发企业
  • 安庆网站建设公司个人网站相册怎么做
  • 网站建设未来发展的趋势砀山哪有做网站的
  • 手机网站跳出率低可视化前端开发工具
  • 海西网站建设怎样做竞价推广
  • 深圳知名的网站公司简介保定网页设计
  • 地方门户网站盈利模式做奖状的网站
  • 建设春风摩托车官方网站郑州做网站的公司
  • 老师做家教的网站友链交换平台源码
  • 有免费的网站建设网站优化推广怎么做
  • dw做网站乱码国内人工智能比较厉害的公司
  • 网站 虚拟目录中国职业球队
  • 专做奢侈品品牌的网站做网站的需求分析
  • 自建网站h5建立个公司网站
  • 佛山新网站建设价格广告策划书包括什么内容
  • 怎么做私人网站建设部网站社保联网
  • 宽屏大气网站源码公司网站建设方法
  • 怎么搭建手机网站m修改wordpress栏目标题
  • 做汽车团购网站wordpress凌风教程
  • 广东省一流高职院校建设专题网站dw建网站具体步骤
  • 网站名百度搜不到天津房地产网站建设
  • 知名网站建设在哪里电子商城网站模板
  • 织梦网站被做跳转还被删除文件wordpress 启用gzip压缩
  • 想做个网站找谁做黑客入侵别人网站做seo
  • 手机网站开发模拟器员工培训