
1.本人的机器为ubuntu 10.04,在连网的情况下直接在终端输入:
[cpp] view plain copy 在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 copy 在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 copy 在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 copy 在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 copy 在CODE上查看代码片派生到我的代码片
root@zsh-linux:/home/cmake_test/build# cmake ..
若编译成功在build目录下会生成相应文件,其中有个makefile文件
有可能会出现问题:
CMAKE_CXX_COMPILER-NOTFOUND" was not found
解决方法:
[cpp] view plain copy 在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
CmakeCmake 有linux ,windows 多个平台版本,如图是windows下版本程序
更具一个简单多目录c项目,学下cmakelist.txt编写规范
根目录下cmakelist文件内搭纤逗容:知卖
set(CMAKE_INSTALL_PREFIX):设置程序的安装目录,优先级比cmake命令参数设置高。
add_subdirectory(编译文件子目录)
libhello 目录下的cmakelist文件内容:
libhello 目录下的cmakelist文件内容:
6
查看编译后结果:竖旅
7
安装后目录结构:
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)