永发信息网

linux cmakelist 怎么用

答案:1  悬赏:20  手机版
解决时间 2021-02-19 20:38
linux cmakelist 怎么用
最佳答案
由于调试需要因此研究了一下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
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
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
在凤凰古城逛街时听见卖乐器的店子里放的一首
中国移动(汇金新地店)在什么地方啊,我要过去
居住区与工厂区之间的步行距离以()min为宜?A
北京到古水北镇怎么走
圣雪美容美体在哪里啊,我有事要去这个地方
p2p公司跑路了,销售高管需要承担什么责任
如图,在△ABC中,AB=AC,∠A=36°,BD,CE分别是
请高手帮忙 用“梁润”两字设计一个网名吧!
陕西铁设备经营开发公司怎么去啊,有知道地址
如何拆掉太阳能的真空管
想去日本读研,理工科的,什么大学好?什么专
【a是一座金字塔】“A”是一座金字塔,那“O”
海城旅社地址在什么地方,想过去办事
开学第一课 钢琴谱子
我国现行正常使用邮票面值的标注单位是()。
推荐资讯
单选题近代实业家张謇提出积极引进外资的重要
【关于国庆节的字】关于国庆节的四字词语一共
下图为某跨国公司对部分国家使用该公司产品的
万迪王21a215养生壶壶体爆裂维修
固态硬盘线接主板哪里
皇子网络会所我想知道这个在什么地方
qq一共可以有几个关联号?
高中地理气候类型的整理
瑞富祥超市在哪里啊,我有事要去这个地方
友谊大桥地址在什么地方,想过去办事
一道二次函数题 二次函数y=x^2+bx+c(b,c是常
操场的英语怎么读?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?