cmake教程linux
A. linux cmake后怎么调试
1.安装gcc等必备程序包,在cmake安装包的网站中选择binarydistribution下的linuxx86_64下的cmake-3.6.0-Linux-x8664.tar.gz压缩包,点击,下载。默认下载到了home/DOWNLOAD2.把下载好的包复制到指定路径,比如/home/bnu,在当前文件夹中打开终端,输入3.tarzxvfcmake-3.6.0-Linux-x8664.tar.gz在该目录下多了一个解压后的文件夹4.打开新的终端,./bootstrapmakemakeinstall5.此时会打开一个文件/root/.bashrc,找到exportPATH=这些行,在这些行的下面另外添加一行,从而设置环境变量exportPATH=$PATH:/home/bnu/cmake-3.6.0-Linux-x8664/bin输入完毕保存6.查看版本,测试是否安装成功:打开终端,输入cmake--version结果是:cmakeversion3.6.0(安装cmake成功!)要知道,在根目录下安装cmake,那么不同用户都可以共享使用这个cmake.
B. linux下怎么安装cmake
1.安装gcc等必备程序包,在cmake安装包的网站中选择binary distribution下的linux x86_64下的cmake-3.6.0-Linux-x86 64.tar.gz压缩包,点击,下载。默认下载到了home/DOWNLOAD
2.把下载好的包复制到指定路径,比如/home/bnu,在当前文件夹中打开终端,输入
3.tar zxvf cmake-3.6.0-Linux-x86 64.tar.gz 在该目录下多了一个解压后的文件夹
4.打开新的终端,
./bootstrap
make
make
install
5.此时会打开一个文件/root/.bashrc,找到export PATH=这些行,在这些行的下面另外添加一行,从而设置环境变量
export PATH=$PATH:/home/bnu/cmake-3.6.0-Linux-x86 64/bin
输入完毕保存
6.查看版本,测试是否安装成功:打开终端,输入
cmake --version
结果是:cmake version 3.6.0(安装cmake成功!)
要知道,在根目录下安装cmake,那么不同用户都可以共享使用这个cmake.
C. 关于在Linux下执行cmake后再执行make的问题
应该是你的linux内核版本太低,不支持eventfd。
eventfd() is available on Linux since kernel 2.6.22.
D. linux里面安装的cmake 软件到底是干什么用的啊
CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是
CMake
的组态档取名为
CmakeLists.txt。Cmake
并不直接建构出最终的软件,而是产生标准的建构档(如
Unix
的
Makefile
或
Windows
Visual
C++
的
projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是
CMake
和
SCons
等其他类似系统的区别之处。
CMake
可以编译源代码、制作程式库、产生适配器(wrapper)、还可以用任意的顺序建构执行档。CMake
支持
in-place
建构(二进档和源代码在同一个目录树中)和
out-of-place
建构(二进档在别的目录里),因此可以很容易从同一个源代码目录树中建构出多个二进档。CMake
也支持静态与动态程式库的建构。
“CMake”这个名字是“cross
platform
make”的缩写。虽然名字中含有“make”,但是CMake和Unix上常见的“make”系统是分开的,而且更为高阶。
E. Linux下面cmake命令意义cmake -D CMAKE_BUILD_TYPE=RELEASE
"怎么知道在源代码目录中编译的呢?" 这个是因为后边的那 .. 的缘故, .. 表示上层目录. 那.. 就是<path to the OpenCV source directory>
-D 相当于就是定义, -D 可以理解为告诉cmake 后边我要定义一些参数了, 你每定义一个就在前边加上-D就是了
CMAKE_BUILD_TYPE 这种东西往往是在CMakeList.txt 中定义的, 这个是你要编译的类型, 一般的选择有debug,release, 但是不确定
CMAKE_INSTALL_PREFIX 这个是安装路径.
F. 如何在Linux下安装cmake-gui
OpenCV 2.2以后的版本需要使用Cmake生成makefile文件,因此需要先安装cmake;还有其它一些软件都需要先安装cmake
1.在linux环境下打开网页浏览器,输入网址:http://www.cmake.org/cmake/resources/software.html,找到最新版本的位置。一般开放源代码软件都会有两个版本发布:Source Distribution 和 Binary Distribution,前者是源代码版,你需要自己编译成可执行软件。后者是已经编译好的可执行版,直接可以拿来用的。
2.在linux环境下打开终端,输入:
getconf LONG_BIT
如果结果是64表示该系统是linux64位的,如果结果是32则表示系统是linux32位。
3.我现在所用的这台是64位,因此在cmake安装包的网站中选择binary distribution下的linux x86_64下的cmake-3.6.0-Linux-x86 64.tar.gz压缩包,点击,下载。默认下载到了home/DOWNLOAD
4.把下载好的包复制到指定路径,比如/home/bnu,在当前文件夹中打开终端,输入
tar zxvf cmake-3.6.0-Linux-x86 64.tar.gz
在该目录下多了一个解压后的文件夹
5.打开新的终端,输入
该bashrc文件不用提前建立,路径也根据自己的情况改变,我定的路径与解压后的cmake包路径是一致的
6.此时会打开一个文件,找到export PATH=这些行,在这些行的下面另外添加一行,从而设置环境变量
export PATH=$PATH:/home/bnu/cmake-3.6.0-Linux-x86 64/bin
输入完毕保存
7.查看版本,测试是否安装成功:打开终端,输入
cmake --version
结果是:cmake version 3.6.0(安装cmake成功!)
G. linux cmakelist 怎么用
由于调试需要因此研究了一下cmake这个夸平台的编译工具的使用方法.
1.本人的机器为ubuntu 10.04,在连网的情况下直接在终端输入:
[cpp] view plain 在CODE上查看代码片派生到我的代码片
root@zsh-linux:~#apt-get install cmake
安装完毕之后可以在/var/cache/apt/archives看到安装的.deb文件
或者在cmake官网下载cmake for linux
此时有个注意点是建议下载 cmake-2.8.4.tar.gz 而不是
cmake-2.8.4-Linux-i386.tar.gz
下载完成后解压
[cpp] view plain 在CODE上查看代码片派生到我的代码片
root@zsh-linux:/opt#tar -zxvf cmake-2.8.4.tar.gz
然后 cd 到cmake-2.8.4目录下
root@zsh-linux:/opt/cmake-2.8.4#
root@zsh-linux:/opt/cmake-2.8.4# ./bootstrap
root@zsh-linux:/opt/cmake-2.8.4# make
root@zsh-linux:/opt/cmake-2.8.4# make install
安装完毕后查看是否安装成功:
root@zsh-linux:/opt/cmake-2.8.4# cmake --version
cmake version 2.8.4
有以上信息表示安装cmake成功。
2.cmake 的使用
(1)创建一个工程目录文件夹,然后创建一个hello.c
[cpp] view plain 在CODE上查看代码片派生到我的代码片
#include<stdio.h>
int main()
{
printf(“hello,this is my first using cmake project/n”);
return 0;
}
(2)然后创建一个build目录(用于编译生成的相应文件),与hello.c目录同级
(3)编写CMakeLists.txt内容如下:(于hello.c目录同级)
[cpp] view plain 在CODE上查看代码片派生到我的代码片
cmake_minimum_required(VERSION 2.8)
PROJECT(cmake_test)
SET(SRC_LIST main.c)
INCLUDE_DIRECTORIES(/usr/include/glib)
MESSAGE(STATUS "This is BINARY dir "${HELLO_BINARY_DIR})
MESSAGE(STATUS "This is SOURCE dir "${HELLO_SOURCE_DIR})
ADD_EXECUTABLE(hello ${SRC_LIST})
(4)进入build目录输入 cmake ..
[cpp] view plain 在CODE上查看代码片派生到我的代码片
root@zsh-linux:/home/cmake_test/build# cmake ..
若编译成功在build目录下会生成相应文件,其中有个makefile文件
有可能会出现问题:
CMAKE_CXX_COMPILER-NOTFOUND" was not found
解决方法:
[cpp] view plain 在CODE上查看代码片派生到我的代码片
root@zsh-linux:/home/cmake_test/build# apt-get install g++
(可选)cmake -D CMAKE_CXX_COMPLIER=”g++”CMAKE -D CMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=”/usr/local”
(5)输入make 命令执行成功后在build目录下会看到可执行的hello
(6)./hello
输出 hello,this is my first usingcmake project。
注:这只适用于简单的工程,若复杂的工程项目请参考www.cmake.org
H. 如何写cmakelist linux
这一章将从软件开发者的角度来描述如何实用CMake。也就是说,如果你的目标是用CMake来管理你的生成过程,请阅读这一章。 CMake的输入 COMMAND(args) 这里的 COMMAND 是命令行的名称,args是用空格分割的参数列表
I. Linux下gcc/g++,make和cmake的区别
gcc是一个C语言编译器,g++是一个C++语言的编译器,这是它们的主要区别,虽然说gcc也可以编译C++代码文件,但实际上是需要g++支持的,gcc编译C++时是要调用g++的。
make是根据Makefile中定义的编译规则来对多个源文件执行编译命令,也就是说它是管理编译规则的工具,并不实际编译文件;而cmake则是可以生成Makefile文件的一个工具,实际上,cmake工具不仅可以生成Makefile,还可以生成Windows平台的VS等开发工具的dsp等工程文件,这样管理项目就更方便了。