- cmake
- 版本:v3.0.2
- 类别:动作游戏
- 大小:10.7MB
- 时间:2024-11-03
软件介绍
cmake是一个非常重要的编程工具,cmake是旨在构建、测试打包,主要是用于控制软件使用平台独立配置文方便用户对测试编译器C++特性,让开发设备能够实时输出各种各样的makefile以及project文件。
cmake运行说明:
cmake 运行
(1)运行cmake with GUI
如果系统中有curses库的话,cmake将生成一个可执行文件ccmake,它是一个基于文本程序的终端,有点类似windows GUI。
在源码目录中运行ccmake .,生成的二进制文件存放在源码目录下
当然也可以在其他目录下运行ccmake,只是要指定你想编译的源码的路径
ccmake的使用
当我们在源码目录下运行ccmake . 时,终端将显示如下:
当我们键入c时,ccmake将编译
当我们键入方向键时,可以选择cache entry
当我们键入enter时,可以编辑cache entry
当我们键入g时,将生成Makefile,然后退出
当我们键入h时,将弹出帮助文档
当我们键入q时,将退出ccmake
当我们键入t时,可以打开或关闭advanced cache entry
(2)运行cmake from the command line
如果源码没有太多的选项(在CMakeCache.txt文件中),可以只用cmake .来产生Makefile。
如果源码选项太多,比如VTK,可以把参数-i传递给cmake,如:cmake -i .,
cmake将让你为每一个cache file文件中的选项指定一个值,也能让你增加新的选项到文件CMakeCache.txt中,或者使用ccmake,或者使用CMakeSetup。
当然,也可以传递设置选项的参数给cmake,如:
cmake -DVARIABLE:TYPE=VALUE .
set(VAR a;b;c)或set(VAR a b c)将把VAR设置为字符串列表
要使用VAR,可以用${VAR},如:
command(${VAR}),它相当于command(a b c)
如果想把一个字符串列表作为单个参数传递给命令,可以用双引号,如:
command(“${VAR}”),相当于command(“a b c”)
(3)流程控制
。判断
if(var)
some_command(...)
endif(var)
当var的值不为empty,0,N,NO,OFF,FALSE,NOTFOUND
——NOTFOUND,some_command(...)将被执行
。循环
set(VAR a b c)
foreach(f ${VAR})
message(${f})
endforeach(f)
用变量f依次代替a,b,c执行message()
。宏和函数定义
定义一个宏hello
macro(hello MESSAGE)
message(${MESSAGE})
endmacro(hello)
调用宏hello
hello(“hello world”)
定义一个函数hello
function(hello MESSAGE)
message(${MESSAGE})
endfunction(hello)
(4)正则表达式
很多CMake命令如if,会使用正则表达式作为参数,下面是正则表达式会用到的特殊字符:
^:匹配一行或一个字符串的开头
$:匹配一行或一个字符串的结尾
.:匹配单个字符
[]:匹配方括号中任意字符或字符串
[^]:匹配不是方括号中的字符或字符串
[-]:匹配在dash任意一边的字符
*:匹配0或多个先前的字符序列
+:匹配1或多个先前的字符序列
?:匹配0或1个先前的字符序列
():保存一个匹配的表达式,以便以后使用
手游排行榜
- 最新排行
- 最热排行
- 评分最高
-
飞行射击 大小:63 MB
-
模拟经营 大小:29.54 MB
-
冒险解谜 大小:126.6M
-
角色扮演 大小:64 MB
-
角色扮演 大小:368 MB
-
角色扮演 大小:236 MB
-
角色扮演 大小:772.3 MB
-
角色扮演 大小:49MB
-
角色扮演 大小:6 MB
-
角色扮演 大小:585 MB
-
角色扮演 大小:600 MB
-
角色扮演 大小:556.2 MB
-
策略卡牌 大小:322.32MB
-
角色扮演 大小:122.47MB
-
休闲益智 大小:135.29MB
-
飞行射击 大小:50.45MB
-
飞行射击 大小:309.39MB
-
冒险解谜 大小:47.2MB
-
休闲益智 大小:3.71MB
-
角色扮演 大小:2.0MB
-
角色扮演 大小:2.1MB
-
策略卡牌 大小:158.6MB
-
角色扮演 大小:34.2MB
-
冒险解谜 大小:84.9M