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

宿迁住房和城乡建设网站wordpress 图片搜索

宿迁住房和城乡建设网站,wordpress 图片搜索,营销型网站的好处,电商网站后台报价🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀各种软件安装与配置_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1.…

🌈 个人主页:十二月的猫-CSDN博客
🔥 系列专栏: 🏀各种软件安装与配置_十二月的猫的博客-CSDN博客

💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 

目录

1. 前言

2. CMake 基础

2.1 CMakeLists.txt 文件

文件结构和基本语法

实例

2.2 变量和缓存

变量定义与使用

缓存变量

2.3 查找库和包

find_package() 指令

使用第三方库

3. 总结


1. 前言

通过上一篇文章:【一篇搞定配置】Window上的CMake的安装配置-CSDN博客

我们已经完成了在Window、Linux、maxos操作系统上的CMake环境配置。

但是很多小伙伴还是不会使用CMake,同时考虑到像linux虚拟机、linux指令等很多友友虽然跟着猫猫完成了配置,但是还是不会使用。

于是,猫猫决定在专栏:各种软件安装与配置_十二月的猫的博客-CSDN博客中开设一个新的部分【配置后的基本使用】用来帮助友友进一步的学习。

2. CMake 基础

2.1 CMakeLists.txt 文件

CMakeLists.txt 是 CMake 的配置文件,用于定义项目的构建规则、依赖关系、编译选项等。

这也是CMake最核心的部分

每个 CMake 项目通常都有一个或多个 CMakeLists.txt 文件。

文件结构和基本语法

CMakeLists.txt 文件使用一系列的 CMake 指令来确定项目构建过程(构建规则、依赖关系、编译选项等)。常见的指令包括:

1、指定 CMake 的最低版本要求:

cmake_minimum_required(VERSION <version>)

例如:

cmake_minimum_required(VERSION 3.10)

2、定义项目的名称和使用的编程语言:

project(<project_name> [<language>...])

例如:

project(MyProject CXX)

3、指定要生成的可执行文件和其源文件(头文件和cpp文件):

add_executable(<target> <source_files>...)

例如:

add_executable(MyExecutable main.cpp other_file.cpp)

4、创建一个库(静态库或动态库)及其源文件:

add_library(<target> <source_files>...)

例如:

add_library(MyLibrary STATIC library.cpp)

 知识补充:

        1、静态库:静态库链接的时候把库直接加载到程序中,运行效率高但耦合度也高

        2、动态库:只是保留接口,将动态库与程序代码独立,运行效率低但耦合度也低

        3、库:各种代码的整合。代码文件链接库后可以直接使用库中的函数

5、链接目标文件与其他库:

target_link_libraries(<target> <libraries>...)

例如:

target_link_libraries(MyExecutable MyLibrary)

将目标文件和库整合在一起,从而让目标文件可以使用库中的代码

 6、添加头文件搜索路径:

include_directories(<dirs>...)

例如:

include_directories(${PROJECT_SOURCE_DIR}/include)

7、设置变量的值:

set(<variable> <value>...)

例如:

set(CMAKE_CXX_STANDARD 11)

8、设置目标属性:

target_include_directories(TARGET target_name[BEFORE | AFTER][SYSTEM] [PUBLIC | PRIVATE | INTERFACE][items1...])

例如:

target_include_directories(MyExecutable PRIVATE ${PROJECT_SOURCE_DIR}/include)

9、安装规则:

install(TARGETS target1 [target2 ...][RUNTIME DESTINATION dir][LIBRARY DESTINATION dir][ARCHIVE DESTINATION dir][INCLUDES DESTINATION [dir ...]][PRIVATE_HEADER DESTINATION dir][PUBLIC_HEADER DESTINATION dir])

例如:

install(TARGETS MyExecutable RUNTIME DESTINATION bin)

10、条件语句 (if, elseif, else, endif 命令)

if(expression)# Commands
elseif(expression)# Commands
else()# Commands
endif()

例如:

if(CMAKE_BUILD_TYPE STREQUAL "Debug")message("Debug build")
endif()

11、自定义命令 (add_custom_command 命令):

add_custom_command(TARGET targetPRE_BUILD | PRE_LINK | POST_BUILDCOMMAND command1 [ARGS] [WORKING_DIRECTORY dir][COMMAND command2 [ARGS]][DEPENDS [depend1 [depend2 ...]]][COMMENT comment][VERBATIM]
)

例如:

add_custom_command(TARGET MyExecutable POST_BUILDCOMMAND ${CMAKE_COMMAND} -E echo "Build completed."
)

实例

一个简单的 CMakeLists.txt 文件示例:

cmake_minimum_required(VERSION 3.10)
project(MyProject CXX)# 添加源文件
add_executable(MyExecutable main.cpp)# 设置 C++ 标准
set(CMAKE_CXX_STANDARD 11)

掌握这四个用法,基本简单的CMake文件也是建立起来了

2.2 变量和缓存

CMake 使用变量来存储和传递信息,这些变量可以在 CMakeLists.txt 文件中定义和使用。

变量可以分为普通变量和缓存变量。

变量定义与使用

定义变量:

set(MY_VAR "Hello World")

使用变量:

message(STATUS "Variable MY_VAR is ${MY_VAR}")

缓存变量

缓存变量存储在 CMake 的缓存文件中,用户可以在 CMake 配置时修改这些值。缓存变量通常用于用户输入的设置,例如编译选项和路径。

定义缓存变量:

set(MY_CACHE_VAR "DefaultValue" CACHE STRING "A cache variable")

使用缓存变量:

message(STATUS "Cache variable MY_CACHE_VAR is ${MY_CACHE_VAR}")

2.3 查找库和包

CMake 可以通过 find_package() 指令自动检测和配置外部库和包。

常用于查找系统安装的库或第三方库。

find_package() 指令

基本用法:

find_package(Boost REQUIRED)

指定版本:

find_package(Boost 1.70 REQUIRED)

查找库并指定路径:

find_package(OpenCV REQUIRED PATHS /path/to/opencv)

使用查找到的库:

target_link_libraries(MyExecutable Boost::Boost)

设置包含目录和链接目录:

include_directories(${Boost_INCLUDE_DIRS})
link_directories(${Boost_LIBRARY_DIRS})

使用第三方库

假设你想在项目中使用 Boost 库,CMakeLists.txt 文件可能如下所示:

实例

cmake_minimum_required(VERSION 3.10)
project(MyProject CXX)# 查找 Boost 库
find_package(Boost REQUIRED)# 添加源文件
add_executable(MyExecutable main.cpp)# 链接 Boost 库
target_link_libraries(MyExecutable Boost::Boost)

3. 总结

通过上述内容,用户可以了解 CMakeLists.txt 文件的基本结构和常用指令,掌握如何定义和使用变量,查找和配置外部库,从而能够有效地使用 CMake 管理项目构建过程。

如果觉得对你有帮助,辛苦友友点个赞,收个藏呀~~~    

你的点赞就是猫猫更新的动力

本文转载自:CMake 基础 | 菜鸟教程

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

相关文章:

  • 北京活动策划网站网站建设自主建设
  • 小松建设官方网站郑州汉狮做网站多少钱
  • 济南网站建设李尚荣口碑好的常州网站优化
  • 什么是网页开发连云港网站优化
  • 网站建设新闻 常识wordpress 模版 摄影
  • 芜湖做网站公司什么网站可以做注册任务
  • dw怎么做购物网站商标设计要求及规范
  • 浏览小城镇建设的网站上海搜索优化推广
  • 长沙哪里有网站制作绍兴越城区建设局网站
  • 内部网站建设依据文件诚信通国际网站怎么做
  • iis网站怎么做域名绑定如何做电商新手入门
  • 做游戏网站需要多少钱岳阳网站开发报价
  • 西安做网站哪里便宜一般做网站的在哪里找
  • 上海网站建设报价方案文化馆网站数字化建设介绍
  • 进不了建设银行网站wordpress侧浮动
  • 网站建设用的什么语言动画专业
  • 服装企业网站模版wordpress前台修改
  • 网站被黑怎么办世界500强企业关于优秀员工的12条核心标准
  • 网站开发公司怎么选择个人商城网站制作费用
  • 随州网站建设有限公司域名备案步骤
  • 全国最大网站建站公司wordpress 本地建站教程
  • 做行业网站能赚钱吗用腾讯云做淘宝客网站视频流程
  • 自己免费怎么制作网站吗php+网站开发案例教程
  • 福州网站制作外包万网封停慧聪事件
  • 网站买卖做响应式网站
  • 网站手机端跳转页面模板企业邮箱在哪里查看
  • 怎样设计自己网站域名如何设计推广方案
  • 白云区网站建设mg126佛山seo网站推广
  • wordpress做一个视频网站吗哪个网站可以做汽车评估
  • 济南网站外包德州市建设小学网站