我是靠谱客的博主 粗心魔镜,最近开发中收集的这篇文章主要介绍linux c 11安装教程,Linux 下 cmake的下载、安装和使用图文说明 (cmake-2.8.11.2.tar.gz)...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。CMake 可以编译源代码、制作程式库、产生适配器(wrapper)、还可以用任意的顺序建构执行档。“CMake”这个名字是“cross platform make”的缩写。

1. cmake安装

(1)从源码安装

下载cmake源码 cmake-2.8.11.2.tar.gz

http://www.cmake.org/cmake/resources/software.html

0818b9ca8b590ca3270a3433284dd417.png

这里面包含一个bootstrap文件,运行这个文件进行安装。

root用户下输入以下命令:

tar xvf cmake-2.8.11.2.tar.gz

cd cmake-2.8.11.2

./bootstrap make make install

0818b9ca8b590ca3270a3433284dd417.png

make

0818b9ca8b590ca3270a3433284dd417.png

make install

0818b9ca8b590ca3270a3433284dd417.png

如果已经安装了cmake,想要安装新版本,则:

cd cmake-*.*.*

cmake .

make

make install

(2)从二进制安装

sudo apt-get install cmake

2、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 .

3、CMake cache

cmake第一次运行的时候,它将产生一个文件叫CMakeCache.txt,该文件可以被看作一个配置文件,它里面的内容就像传递给configure命令的参数集,CMake GUI可以帮你很容易修改它,当然也可以直接对该文件做修改;如果你的CMakeLists.txt文件做过较大幅度的修改,你需要从cache中删除相关的选项,如果你还没有手动编辑过cache文件,在你重新运行cmake之前需删除它。

4、 Cmake语法

(1)基本概念

cmake使用Cmake dfjs;dfasfLists.txt文件,该文件用include或者add_subdirectory命令来增加额外的输入文件。

注释行以#开头到该行结尾

命令是由命令名,加括号,括号中的参数用空白隔开,它可以是内建的命令如add_library,或者用户定义的宏或函数

所有的空格,包含空白符,空行,tabs,当然除了用来隔开参数的空白,都被忽略

(2)变量

。字符串

一个字符串是用双引号括起来的,也可以被分隔在多行,如:

set(MY_STRING “this is a string with a

newline in

it”)

在一个字符串中也可以用变量,如:

set(VAR “

hello

world

”)

当执行message(“/${VAR}=${VAR}”)后,将打印:

${VAR}=

hello

world

也可以message(“/n/thello world”)后,将打印:

hello world

。字符串列表

cmake基本的数据类型为字符串,也可以支持字符串列表,如:

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个先前的字符序列

():保存一个匹配的表达式,以便以后使用

参考:http://www.cmake.org/cmake/help/documentation.html

最后

以上就是粗心魔镜为你收集整理的linux c 11安装教程,Linux 下 cmake的下载、安装和使用图文说明 (cmake-2.8.11.2.tar.gz)...的全部内容,希望文章能够帮你解决linux c 11安装教程,Linux 下 cmake的下载、安装和使用图文说明 (cmake-2.8.11.2.tar.gz)...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部