首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于CMake中不同变量的用法与总结

CMake中的变量CMake变量的类型有多种:通过set设置的普通变量和缓存变量、环境变量、数组变量等等,由于CMake在生成的过程中会加载缓存的关系,因此用法不一样。...普通变量定义方式如下:set(var "value")设置一个普通变量var,值为value,引号的作用可以详见我的另一篇文章。...和编程语言中局部变量的用法类似,这个变量会屏蔽CMake缓存中的同名变量,(类似局部变量屏蔽全局变量)。但是这条语句不会改变缓存中的var变量。...缓存变量cache variable用于缓存变量定义如下:set(var "value" CACHE STRING "" FORCE) |这条语句设置了一个CACHE语句,类型是STRING,说明信息为空字符串...还有一种方法能够设置CACHE变量,就是通过cmake命令的-D选项,可以添加一个CACHE变量

19400
您找到你想要的搜索结果了吗?
是的
没有找到

CMake入门实战——自定义编译选项

定义编译选项 CMake 允许为项目增加编译选项,从而可以根据用户的环境和需求选择最合适的编译方案。...例如,可以将 MathFunctions 库设为一个可选的库,如果该选项为 ON ,就使用该库定义的数学函数来进行运算。否则就调用标准库中的数学函数库。...第9行的 configure_file 命令用于加入一个配置头文件 config.h ,这个文件由 CMake 从 config.h.in 生成,通过这样的机制,将可以通过预定义一些参数和变量来控制代码的生成...第14行根据 USE_MYMATH 变量的值来决定是否使用我们自己编写的 MathFunctions 库。...编译项目 现在编译一下这个项目,为了便于交互式的选择该变量的值,可以使用 ccmake . 命令 ?

1.9K10

cmake:在各级子项目(目录)之间共享变量

,opencl文件夹下的CMakeLists.txt能定义类似INCLUDE_OPENCL_1_2,INCLUDE_OPENCL_2_0,INCLUDE_OPENCL_2_1,这样的变量,以保存不同版本的...,但opencl与facedetect和facefeature在同级目录,所以用set定义变量无法共享,要用set(variable value CACHE INTERNAL docstring )这种方式定义变量会把变量加入到...CMakeCache.txt然后各级目录共享会访问到这个变量 比如: 在opencl下的CMakeLists.txt中定义一个变量 set(ICD_LIBRARY "${PROJECT_BINARY_DIR...在facedetect下的CMakeLists.txt中读取这个一个变量 MESSAGE(STATUS "ICD_LIBRARY :${ICD_LIBRARY}") 每次运行cmake都会更新这个变量...当用set_property定义的property时,第一个指定作用域(scope)的参数设为GLOBAL,这个property在cmake运行期间作用域就是全局的。

1.6K40

Python中如何定义变量定义变量的规则是什么?

上一篇文章讲述了变量的概念和作用,下面讲解的是变量的第二个知识点 - 定义变量定义变量名的规则,下一篇在讲解变量的使用。...一、定义变量 语法规则: 变量名 = 值 定义变量的语法规则中间的‘=’,并不是数学中等于号的意思,在编程语言中而是赋值的意思。...赋值:其实程序在执行的时候,先计算等号(‘=’)右边的值,然后把右边的值赋值给等号左边的变量名中。 注意点:变量名自定义,要满足标识符的命名规则。...二、定义变量的规则 标识符: 变量命名规范 - 标识符命名规则是Python中定义各种名字的时候的统一规范,具体规范如下: 由数字、字母、下划线组成 不能以数字开头 不能使用Python内置关键字 严格区分大小写

3.1K30

C++定义指针变量 | 使用指针变量

C++指针变量定义 C++规定所有变量在使用前必须先定义,即指定其类型,在编译时按变量类型分配存储空间,对指针 变量必须将它定义为指针类型。...//定义整型变量 int i,j; //定义指针变量 int *point_num; 上述定义的指针变量point_num是指向整型数据的指针变量,也就是说,指针变量pointer_num只能用来指向整型数据...即*不是指针变量名的一部分,在定义变量时在变量名前加一个*表示该变量是指针变量。 在C++中怎样使一个指针变量指向另一个变量呢?...在定义指针变量时必须指定基类型。 经典案例:C++定义指针变量。...C++定义指针变量 | 使用指针变量 更多案例可以go公众号:C语言入门到精通

2.5K2420

【Shell】环境变量定义变量 特殊变量

Shell变量:自定义变量 目标 理解自定义变量的分类 能够自定义变量进行增\删\改\查 自定义变量介绍 就是自己定义变量 分类 自定义局部变量定义常量 自定义全局变量定义局部变量...介绍 就是定义在一个脚本文件中的变量, 只能在这个脚本文件中使用的变量, 就是局部变量 定义与使用 定义语法 var_name=value 变量定义规则 变量名称可以有字母,数字和下划线组成, 但是不能以数字开头...A.sh就是父Shell环境, B.sh就是子Shell环境 自定义全局变量介绍 就是在当前脚本文件中定义全局变量, 这个全局变量可以在当前Shell环境与子Shell环境中都可以使用 自定义全局变量语法..., readonly var_name 自定义全局变量: 设置变量在当前脚本文件中与子Shell环境可以使用的变量, export var_name 自定义变量进行增\删\改\查 定义和修改:..., 就可以定义在这个文件中 案例演示 需求 /etc/profile定义存储自定义系统级环境变量数据 创建环境变量步骤 编辑/etc/profile全局配置文件 # 增加命令: 定义变量VAR1=VAR1

41831

跨平台编译工具-CMake的语法特性与常用变量

(hello main.cpp ${HELLO}) cmake指令的变量使用 ${变量} 的形式读取变量,但在 IF 逻辑判断中,直接输入变量名称即可,如上面示例代码中的 HELLO 2.2. cmake...的重要指令和常用变量 cmake_minimum_required : 指定cmake最小版本要求 # 指定cmake最小版本要求为 2.8.3 cmake_minimum_required(VERSION...: 显示定义变量 # 定义SRC 变量值为:hello.cpp main.cpp set(SRC hello.cpp main.cpp) include_directories : 向工程中添加多个头文件搜索路径...# 定义 SRC 变量,其值为当前目录下所有的源代码文件 aux_source_directory(....Cmake 常用变量 CMAKE_FLAGS : gcc 编译选项 CMAKE_CXX_FLAGS : g++ 编译选项 # 在 CMAKE_CXX_FLAGS 编译选项后追加 -std=c++11 set

1.1K10

Python变量变量定义作用类型及特征

span 变量是内存中的一小块区域,里面的值可以在一定范围内发生改变,这就是变量。 Python变量作用 用于存储数据。变量存储的数据是临时的。变量在程序运行过程中是可以发生改变的。...Python变量定义 变量名 = 变量值 注:等号两边各保留一个空格,变量名可自定义但要满足“标识符”命名规则。...定义变量/输出实操: mame = '第一' print(name) # 直接写变量名,表示引用它的值,所以结果是:第一 print('name') # 因为单引号括起来了,表示字符串,所以结果是...以上变量类型,只能存储一个元素!存储多个元素需采用列表list、元组tuple、集set、字典map等变量类型。 Python变量类型判断 通过 type(变量名或者值) 可以判断该变量的类型。...举例: print(type(变量名)) #输出结果,引号内即为该变量的类型 Python变量特征 变量的值可以发生改变。

1.1K20
领券