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

网站开发预算多少竞价代运营公司哪家好

网站开发预算多少,竞价代运营公司哪家好,游戏科技外挂地铁,电子商务网站建设干货😈「CSDN主页」:传送门 😈「Bilibil首页」:传送门 😈「本文的内容」:CMake入门教程 😈「动动你的小手」:点赞👍收藏⭐️评论📝 文章目录 1.使用方法1.1基本用…

在这里插入图片描述

😈「CSDN主页」:传送门
😈「Bilibil首页」:传送门
😈「本文的内容」:CMake入门教程
😈「动动你的小手」点赞👍收藏⭐️评论📝


文章目录

  • 1.使用方法
    • 1.1基本用法
    • 1.2导入软件包的设置:
    • 1.3自定义软件包的查找路径:
    • 1.4使用 Find 模块文件:
    • 1.5设置软件包的变量:
  • 2.示例
    • 2.1查找并导入 OpenCV 软件包:
    • 2.2查找并导入 Boost 软件包的特定组件:
    • 2.3查找自定义的 Find 模块文件:
  • 3.find_package的查找目录

1.使用方法

1.1基本用法

find_package 是 CMake 中用于查找和加载外部软件包的命令。它可以用于查找已经安装在系统中的软件包,并将其相关的设置导入到 CMake 构建系统中。下面是 find_package 的一些常见用法和技巧:

find_package(<package> [version] [EXACT] [QUIET] [MODULE] [REQUIRED] [COMPONENTS <components>])
  • <package> 是要查找的软件包的名称
  • version 是软件包的版本号(可选)。
  • EXACT 选项可指定要求精确的版本匹配。
  • QUIET 选项可使命令在查找失败时不产生错误信息。
  • MODULE 选项用于指定要查找的模块文件。
  • REQUIRED 选项表示软件包是必需的,如果找不到将会引发错误。
  • COMPONENTS 选项用于指定软件包的组件。

1.2导入软件包的设置:

find_package(<package> [version] [EXACT] [REQUIRED] [COMPONENTS <components>])
if(<package>_FOUND)include_directories(${<package>_INCLUDE_DIRS})target_link_libraries(<target> ${<package>_LIBRARIES})
endif()

在找到软件包后,可以使用 ${<package>_INCLUDE_DIRS}${<package>_LIBRARIES} 变量来导入软件包的头文件路径和库文件路径,并将其添加到相应的构建目标中。

1.3自定义软件包的查找路径:

set(<package>_DIR <path>)
find_package(<package> [version] [EXACT] [REQUIRED] [COMPONENTS <components>])

可以使用 set(<package>_DIR <path>) 命令来设置软件包的查找路径,其中 <path> 是软件包的安装路径。这样,find_package 命令将会在指定的路径下查找软件包。

1.4使用 Find 模块文件:

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} <path>)
find_package(<package> [version] [EXACT] [REQUIRED] [COMPONENTS <components>])

可以使用 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} <path>) 命令将自定义的 Find 模块文件所在的路径添加到 CMake 模块搜索路径中。然后,find_package 命令将会在指定的路径下查找模块文件。

1.5设置软件包的变量:

set(<package>_DIR <path>)
find_package(<package> [version] [EXACT] [REQUIRED] [COMPONENTS <components>])
if(<package>_FOUND)message("Found <package>: ${<package>_VERSION}")
endif()

在找到软件包后,可以使用 ${<package>_VERSION} 变量来获取软件包的版本信息,并进行相应的处理。

2.示例

2.1查找并导入 OpenCV 软件包:

find_package(OpenCV 4.2.0 REQUIRED)
if(OpenCV_FOUND)include_directories(${OpenCV_INCLUDE_DIRS})target_link_libraries(my_project ${OpenCV_LIBRARIES})
endif()

在此示例中,我们使用 find_package 命令来查找 OpenCV 软件包,并指定所需的最低版本为 4.2.0。如果找到了 OpenCV,我们将导入其头文件路径和库文件路径,并将其链接到名为 my_project 的目标中。

2.2查找并导入 Boost 软件包的特定组件:

find_package(Boost 1.75.0 REQUIRED COMPONENTS filesystem system)
if(Boost_FOUND)include_directories(${Boost_INCLUDE_DIRS})target_link_libraries(my_project ${Boost_LIBRARIES})
endif()

在此示例中,我们使用 find_package 命令来查找 Boost 软件包,并指定所需的最低版本为 1.75.0。我们还指定了需要的组件,即 filesystemsystem。如果找到了 Boost,并且所需的组件也可用,我们将导入其头文件路径和库文件路径,并将其链接到 my_project 目标中。

2.3查找自定义的 Find 模块文件:

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} /path/to/FindCustomPackage.cmake)
find_package(CustomPackage REQUIRED)
if(CustomPackage_FOUND)include_directories(${CustomPackage_INCLUDE_DIRS})target_link_libraries(my_project ${CustomPackage_LIBRARIES})
endif()

在此示例中,我们将自定义的 Find 模块文件的路径添加到 CMake 模块搜索路径中,并使用 find_package 命令来查找名为 CustomPackage 的软件包。如果找到了 CustomPackage,我们将导入其头文件路径和库文件路径,并将其链接到 my_project 目标中。

3.find_package的查找目录

find_package 命令在 CMake 中用于查找和加载外部库或软件包。它按照特定的顺序在多个目录中搜索指定的软件包。这些搜索目录包括:

  1. CMake变量指定的路径
    • CMAKE_PREFIX_PATH:一个或多个路径的列表,CMake会在这些路径下查找软件包。
    • <PackageName>_DIR:对于特定软件包,可以设置一个变量来指定其配置文件的路径(例如,对于Foo包,设置Foo_DIR)。
  2. 系统默认路径
    • 在 Unix-like 系统上,通常包括 /usr/local/usr 等标准安装路径。
    • 在 Windows 系统上,可能包括一些特定于 Windows 的标准路径,如程序安装目录。
  3. 环境变量指定的路径
    • CMAKE_SYSTEM_PREFIX_PATH:系统环境变量指定的路径列表,例如在 Unix 系统上可能包括/usr/local/等。
    • 其他特定于系统的环境变量,如LD_LIBRARY_PATHPATH
  4. CMake模块路径
    • CMAKE_MODULE_PATH:这个变量可以用来指定自定义的“Find模块”的路径。通过将自定义模块路径添加到这个变量,可以让find_package使用这些自定义模块来查找软件包。
  5. 预定义的CMake模块
    • CMake还包含了一组预定义的模块,这些模块定义了常用软件包的查找逻辑。这些模块通常位于 CMake 安装目录的Modules子目录中。

find_package 首先尝试使用配置模式(即查找软件包提供的配置文件,如FooConfig.cmakefoo-config.cmake),如果失败,则回退到模块模式(使用 CMake 提供或自定义的 Find 模块,如FindFoo.cmake)。

正确设置这些路径可以确保 CMake 能够在预期的位置找到所需的软件包

CMAKE_PREFIX_PATH
_DIR
Unix-like系统
Windows系统
CMAKE_SYSTEM_PREFIX_PATH
LD_LIBRARY_PATH, PATH等
CMAKE_MODULE_PATH
开始find_package搜索
检查CMake变量
路径列表
特定软件包路径
系统默认路径
/usr/local, /usr等
特定于Windows的路径
环境变量指定路径
系统环境变量路径列表
其他系统环境变量
CMake模块路径
自定义Find模块路径
预定义CMake模块
CMake安装目录的Modules子目录
http://www.ritt.cn/news/25879.html

相关文章:

  • 怎么做有趣视频网站福州百度网站快速优化
  • 住房与城乡建设管理委员会网站大兴今日头条新闻
  • 58南浔做网站北京网络优化推广公司
  • 网站对比app还有优势吗seo网站推广软件排名
  • 展示型网站建设的标准东莞seo建站如何推广
  • 软件开发文档用什么写淘宝关键词优化工具
  • wordpress 搭建seo怎么做教程
  • 怎么做诈骗网站吗seo技术公司
  • 贵阳网站设计详细解读每日新闻播报
  • 用家用路由器ip做网站国内专业的seo机构
  • 做网站的的报价淘宝seo搜索排名优化
  • 禹城有做网站seo诊断a5
  • 公司网站设计平台宁波seo网络推广咨询热线
  • 如何批量做网站百度seo教程网
  • 做网站送的小程序有什么用提升关键词
  • 云南省城乡住房建设厅网站经典网络营销案例
  • 集团网站建设定制网站建设南宁seo外包要求
  • 中企动力做网站价格seo网站推广收费
  • 本地的唐山网站建设网络营销的重要性
  • 网站锚文本的内链建设免费建站网站
  • 网站建设经销商广告关键词查询
  • 梓潼 网站建设 有限公司企业推广公司
  • 网站建设中什么意思推广app赚佣金平台有哪些
  • 响应式网站跟自适应网站的区别石家庄seo网络优化的公司
  • 深圳做微藻的公司网站seo网站诊断顾问
  • 武汉网站推广服务设计网站官网
  • 做网站前端设计需要哪些证书google关键词排名优化
  • wordpress主题克隆双滦区seo整站排名
  • 公司做个网站多少钱google关键词搜索工具
  • 做宽屏网站全国疫情最新情况公布