linux cmakelist 怎么用

linux cmakelist 怎么用,第1张

由于调试需要因此研究了一下cmake这个夸平台的编译工具的使用方法.

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

Cmake

Cmake 有linux ,windows 多个平台版本,如图是windows下版本程序

更具一个简单多目录c项目,学下cmakelist.txt编写规范

根目录下cmakelist文件内搭纤逗容:知卖

set(CMAKE_INSTALL_PREFIX):设置程序的安装目录,优先级比cmake命令参数设置高。

add_subdirectory(编译文件子目录)

libhello 目录下的cmakelist文件内容:

libhello 目录下的cmakelist文件内容:

6

查看编译后结果:竖旅

7

安装后目录结构:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/12222969.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存