网站程序开发的基本步骤app生成链接

张小明 2026/1/15 15:02:45
网站程序开发的基本步骤,app生成链接,做程序教程网站赚钱吗,广东省自然资源厅三定方案文章目录第二章 CMake基础语法2.4 cmake定义普通变量set()2.4.1 set() 语法格式2.4.2 变量类型和作用域详解2.4.3 CMake运行脚本 .cmake 文件2.4.4 编译 .cmake脚本-- cmake -P选项2.4.5 使用-D选项定义变量2.4.6 普通变量总结2.5 CMake定义缓存变量set(CACHE)2.5.1 缓存变量语…文章目录第二章 CMake基础语法2.4 cmake定义普通变量set()2.4.1 set() 语法格式2.4.2 变量类型和作用域详解2.4.3 CMake运行脚本 .cmake 文件2.4.4 编译 .cmake脚本-- cmake -P选项2.4.5 使用-D选项定义变量2.4.6 普通变量总结2.5 CMake定义缓存变量set(CACHE)2.5.1 缓存变量语法2.5.2 CMake变量类型2.5.3 CMake定义缓存变量2.5.4 CMake引用缓存变量2.5.5 探究CMakeCache.txt作用2.5.6 option() 命令本文介绍cmake的普通变量set()和缓存变量set(CACHE)。第二章 CMake基础语法2.4 cmake定义普通变量set()CMake中的变量分为普通变量和缓存变量本节讲解普通变量。CMake变量是 CMake 语言中的基本存储单元变量的值是字符串类型。变量名称区分大小写变量名称几乎可以包含任何文本但建议使用仅由 “字母数字”加上“_”和“-”组成的名称。字母 数字 _ - 下划线和中划线。CMake中使用set() 定义一个变量下面开始逐步介绍set()的使用。2.4.1 set() 语法格式set语法格式如下set(variablevalue...[PARENT_SCOPE])variable 变量名,区分大小写 Value... 变量值。如果提供多个只多个变量之间以“”分号分隔多个变量组成LIst列表。如果未提供值则该变量被取消设置。 PARENT SCOPE 作用域设置想在函数内部或子目录中修改变量必须使用此标记。作用域讲解1 目录作用域。当处理CMakeLists.txt时会创建一个新的作用域。当执行上一节中的add_subdirectory时会进入子目录子目录会复制父目录当前的变量副本所以在子目录的CMakeLists.txt中修改变量不影响父目录的变量。2 函数作用域。当创建一个函数时里边的变量是局部的。2.4.2 变量类型和作用域详解CMake中的变量分如下几类下面分别介绍1 普通变量这是最常见的变量.set(varHello World)message(var ${var})# var Hello World# 设置多个值,定义时多个值之间使用空格分隔。输出时多个值之间用分号分隔set(multi_varValue1Value2Value3)message(multi_var ${multi_var})# multi_var Value1;Value2;Value3set(multi_var_list VALUE_A VALUE_B VALUE_C)message(multi_var_list ${multi_var_list})# multi_var_list VALUE_A;VALUE_B;VALUE_C2 PARENT_SCOPE作用域如果在函数内部或者在子目录中修改父级目录的变量必须使用此参数标记。function(set_global_var)set(MY_GLOBAL67890PARENT_SCOPE)# 修改全局变量需要加PARENT_SCOPEendfunction()set(MY_GLOBAL12345)set_global_var()message(Result:${MY_GLOBAL})# 输出: Result: 678902.4.3 CMake运行脚本 .cmake 文件在cmake中如果只想打印将变量写在.cmake脚本中直接输出脚本文件中的变量。构建时使用cmake -P 选项直接运行CMake语法的脚本文件而不执行任何项目配置(Configure)或生成(Generate)步骤并且不修改缓存。在-P选项之前我们还可以使用-D选项定义缓存变量。cmake[-D 变量值]... -Pcmake-script-file测试源码test.cmakecmake_minimum_required(VERSION3.22)# 脚本文件中不能直接加 project#project(cmakescriptTest)# 定义变量: 变量名字区分大小写set(aHello CMake!)message(a${a})#aHello CMake!# 大写变量名子, 变量名字没有加引号变量值之间的空格被忽略set(A Hello CMake!)# HelloCMake!message(A${A})# AHello;CMake!2.4.4 编译 .cmake脚本-- cmake -P选项-P选项用于生成cmake脚本.cmake文件-P选项的全称是script理解为处理脚本(Process script)cmake -P xxx.cmake使用 cmake -P选项只输出而不进行编译。可以看到使用cmake文件再使用-P选项只输出而不进行编译。2.4.5 使用-D选项定义变量在cmake 编译时使用-D(define)可自定义变量然后在cmake文件中引用该变量。-D选项放在-P选项之前理解为先定义再使用。cmake_minimum_required(VERSION3.22)# 脚本文件中不能直接加 project#project(cmakescriptTest)# 定义变量: 变量名字区分大小写set(aHello CMake!)message(a${a})#aHello CMake!# 大写变量名子, 变量名字没有加引号变量值之间的空格被忽略set(A Hello CMake!)# HelloCMake!message(A${A})# AHello;CMake!# 输出-D 定义的变量message(Define${Define})2.4.6 普通变量总结可以使用set() 方法定义变量变量命名区分大小写cmake的变量总是字符串。.cmake 结尾的脚本文件-D选项定义变量可以在编译时使用-D选项定义变量然后在脚本文件中使用该变量格式变量名“2222”2.5 CMake定义缓存变量set(CACHE)上一节讲了CMake中的普通变量本节讲CMake中的缓存变量。CMake缓存变量(或缓存条目)用于存储CMake的一些配置或由用户在cmake-gui界面上配置的选项如禁用启用特定的功能、指定第三方库的路径等。CMake首次执行时会进行配置并在构建目录中创建CMakeCache.txt缓存文件来保存这些配置的值缓存文件存在之后CMake后续运行将直接使用无需每次都让用户来配置一遍除非手动修改或清除缓存!2.5.1 缓存变量语法使用set命令来设置缓存变量语法如下.可以看到比普通变量定义时多了一个“CACHE”关键字。set(variablevalueCACHEtypedocstring[FORCE])variable:变量名 value:默认值 type:变量类型如(BOOL|FILEPATH|PATH|STRING|INTERNAL)docstring:变量描述在GUI中显示。 FORCE:可选参数,强制更新已存在的缓存值修改时不加FORCE选项则修改无效是必选参数[]可选参数。2.5.2 CMake变量类型BOOL 布尔值 ON/OFFcmake-gui界面显示为一个复选框FILEPATH 磁盘上文件的路径cmake-gui界面显示为一个文件对话框PATH 磁盘上目录的路径 cmake-gui界面显示为一个文件对话框。STRING 字符串cmake-gui界面显示为文本框或下拉选择(如果STRINGS缓存条目属性已设置)INTERNAL 内部字符串cmake-gui界面不显示任何内容。它们可用于跨运行持久存储变量。使用这种类型意味着FORCE2.5.3 CMake定义缓存变量测试脚本仍然是test.cmake在其中定义如下# 定义一个缓存变量set(MyCacheVar2222CACHE STRING这是一个缓存变量)message(MyCacheVar${MyCacheVar})# 输出MyCacheVar2222# 另一种访问缓存变量的方式使用 CACHE 关键字message(MyCacheVar$CACHE{MyCacheVar})#MyCacheVar2222强制修改缓存变量值下面测试中可以发现如果不加FORCE就不能修改缓存变量的值。# 定义一个缓存变量set(MyCacheVar2222CACHE STRING这是一个缓存变量)message(MyCacheVar${MyCacheVar})# 输出MyCacheVar2222# 另一种访问缓存变量的方式使用 CACHE 关键字message(MyCacheVar$CACHE{MyCacheVar})#MyCacheVar2222# 强制修改缓存变量的值不加FORCEset(MyCacheVar3333CACHE STRING这是一个缓存变量)message(MyCacheVar${MyCacheVar})# 输出MyCacheVar2222# 强制修改缓存变量的值加FORCEset(MyCacheVar4444CACHE STRING这是一个缓存变量FORCE)message(MyCacheVar${MyCacheVar})# 输出MyCacheVar44442.5.4 CMake引用缓存变量在CMakeLIsts.txt中定义一个缓存变量然后使用cmake-gui打开查看缓存变量。cmake_minimum_required(VERSION3.10)project(VariableExample)#1布尔类型缓存变量set(A1 ON CACHE BOOL复选框)message(A1$CACHE{A1})# 输出 A1ONmessage(A1${A1})# 输出 A1ON # #2文件类型缓存变量 CACHE FILEPATHset(A2E:/practice_Code/cmake/14cacheCACHE FILEPATH文件选择对话框)message(A2$CACHE{A2})# 输出 A2E:/practice_Code/cmake/14cache # #3目录路径类型缓存变量 CACHE PATHset(A3E:/practice_Code/cmake/14cacheCACHE PATH目录选择对话框)message(A3$CACHE{A3})# 输出 A3E:/practice_Code/cmake/14cache #4字符串类型缓存变量 CACHE STRINGset(A4字符串1CACHE STRING字符串输入框)message(A4$CACHE{A4})# 输出 A4字符串1set(A4字符串2CACHE STRING字符串输入框)message(A4$CACHE{A4})# 输出 A4字符串1# #5FORCE 强制设置缓存变量set(A4字符串3CACHE STRING字符串输入框FORCE)message(A4$CACHE{A4})# 输出 A4字符串3查看生成的缓存文件2.5.5 探究CMakeCache.txt作用主要作用保存用户的配置选择和系统环境变量检测结果一遍在后续的构建过程中重复使用而无需每次都重新检测。在之前当运行 cmake -D A1ON这个 ON 的状态就被写入了 Cache 文件。下次只需运行 cmake …CMake 会自动读取 Cache 中的 A1ON而不需要再次输入。CMakeCache.txt 本质上是一个简单的存储键值对的文本数据库存储格式为 变量名:类型值。用户交互接口当使用 GUI 工具如 cmake-gui时界面上显示的列表正是读取自这个文件。你在界面上修改的值点击 “Configure” 后会写回这个文件。2.5.6 option() 命令使用option()命令来简化布尔类型缓存变量语法如下option(variablehelp text[value])参数variable变量的名称help text描述文本 value 如果不提供此参数则默认为OFF如果variable普通变量或缓存变量已经存在那么 此命令什么也不做。# 6 使用option 定义 set(CACHE BOOL) 缓存变量option(A5选项1ON)# 等价于 set(A5 ON CACHE BOOL 复选框)message(A5$CACHE{A5})# 输出 A5 ON
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

17网站一起做网店中国网站有哪些

突破性音频AI技术:Step-Audio 2系列重塑智能语音交互新范式 【免费下载链接】Step-Audio-2-mini-Think 项目地址: https://ai.gitcode.com/StepFun/Step-Audio-2-mini-Think 在人工智能浪潮席卷全球的今天,语音交互正成为人机沟通的核心桥梁。St…

张小明 2026/1/14 2:17:18 网站建设

番禺网站建设专家内网建设网站

导语 【免费下载链接】Hunyuan-A13B-Instruct-GGUF 腾讯Hunyuan-A13B-Instruct-GGUF是高效开源大模型,采用MoE架构,800亿总参数中仅130亿激活,性能媲美大模型。支持256K超长上下文,兼具快慢推理模式,优化代理任务&…

张小明 2026/1/15 14:32:35 网站建设

三亚做网站哪家效果好太原做手机网站建设

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

张小明 2026/1/14 2:19:34 网站建设

织梦修改网站标题杭州seo网站推广排名

行业专属语音合成方案:教育、传媒与客服的智能化升级路径 在在线课程需要24小时不间断播放、新闻热点要求分钟级响应、客服系统追求“听得见的微笑”的今天,声音早已不只是信息载体,更成为品牌温度和用户体验的核心组成部分。传统语音合成技术…

张小明 2026/1/9 0:23:28 网站建设

中国工程建设标准化网站网站中常用的英文字体

前言 表单验证是商城应用中确保用户输入数据有效性的重要功能,广泛应用于登录注册、地址填写、支付信息等场景。一个设计良好的表单验证组件需要提供实时的输入反馈、清晰的错误提示,并支持多种验证规则。本文将详细介绍如何在Flutter和OpenHarmony平台上…

张小明 2026/1/10 15:06:58 网站建设

淮北论坛官网资阳抖音搜索优化

课题摘要在全民阅读推广背景下,传统名著推荐存在 “匹配度低、个性化不足、阅读偏好挖掘浅” 的痛点,基于深度学习 SpringBoot 构建的经典名著推荐系统,适配读者、图书馆管理员、运营人员等角色,实现阅读偏好分析、智能推荐、阅读…

张小明 2026/1/8 16:19:29 网站建设