Centos7下使用CMake

8 篇文章 0 订阅

在进行需要提供跨平台服务的项目时,最好有相应的跨平台项目构建工具。本文所述的CMake即其中比较好用的跨平台构建工具之一。下文主要以C++语言为例进行使用演示。

安装C++所需的环境:

yum install -y gcc gcc-c++ make automake

安装wget工具:

yum install -y wget

下载CMake工具:

wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz

 

 

解压CMake:

tar -zxvf cmake-2.8.10.2.tar.gz

 

进入对应的目录,查看目录结构:

进入目录后,进行安装操作,步骤如下:

cd cmake-2.8.10.2

./bootstrap

gmake

gmake install

安装完成,可阅读install_manifest.txt查看具体都安装了什么。

具体项目构建实例:

项目中的目录结构如下:

其中,CMakeLists.txt用于描述项目构建规则,include目录中是本例的头文件放置目录;src是本例的C++定义文件目录。

各文件中的具体情况如下:

//hello.h
void hello();
//hello.cpp
#include <iostream>
using namespace std;

void hello(){
        cout << "hello word!" << endl;
}
//talk.h
void talk();
//talk.cpp
#include <iostream>
using namespace std;

void talk(){
        cout << "This is talk function!" << endl;
}
//main.cpp
#include <iostream>
#include "hello.h"
#include "talk.h"
using namespace std;

int main(){
        hello();
        talk();

        return 0;
}

项目构建规则的描述如下:

#CMakeLists.txt
# 设置cmake最低版本
cmake_minimum_required(VERSION 2.8.0)

# 设置C++标准
set(CMAKE_CXX_STANDARD 11)

# 项目名称
project(cmake_test)

# 包含的头文件目录
include_directories(./include)

set(SRC_DIR ./src)

# 指定生成链接库
add_library(hello ${SRC_DIR}/hello.cpp)
add_library(talk ${SRC_DIR}/talk.cpp)

# 设置变量
set(LIBRARIES hello talk)
set(OBJECT hello_test)

# 生成可执行文件
add_executable(${OBJECT} ${SRC_DIR}/main.cpp)

# 为可执行文件链接目标库
target_link_libraries(${OBJECT} ${LIBRARIES})

 

新建并进入build目录,执行cmake操作:

mkdir build

cd build

cmake ../

默认情况下,生成的文件将输出到当前目录。

执行完cmake后的文件情况:

执行make命令:

此时的文件情况:

至此,项目就编译、链接完成,可以直接执行hello_test查看执行情况:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值