Clause 开发技能之 CMake 进阶教程(一)

开源语义理解项目 Clause 的基本开发技能就是围绕 C++ 的工程展开,使用 CMake 管理依赖,项目描述。需要掌握 CMake,C++。

https://github.com/chatopera/clause

在这里插入图片描述

Clause 使用了很多好的开源的 C++ 的项目的经验,初学 C++ 需要自行研究。以下文章对一些基础知识进行概述。

CMake 快速开始

快速开始使用 CMakeapp 下有不同示例。

一键执行

下面的脚本可以一键执行所有示例程序,因为它依赖于 Docker,请事先安装。

./admin/run.sh

基础知识

C++静态库与动态库

CMake Practice

示例程序

t1

  • 最简单的 CMake 程序
  • In Source Build

t2

  • Out Souce Build
  • 安装文件

t3

  • 发布动态库和静态库

t4

  • 在新项目中添加依赖t3中的静态库或动态库

t5

  • 加载系统预装入的 cmake 模块,以 CURL 模块为例

t6

  • 自定义 FindHELLO.cmake,将t3代码封装为模块

执行全部示例

./admin/all.sh

GUI

使用 CMake 安装包安装,可以在系统程序中启动 CMake 的图形用户界面,同时,使用图形用户界面,也可以安装命令行。

在命令行中启动图形用户界面:

cmake-gui

使用图形用户界面配置一个已经存在的项目:

cd cmake-get-started/app/t2
./run.sh
cmake-gui -S `pwd` -B `pwd`/build-Debug

使用 Docker 容器

chatopera/cmake(Ubuntu:16.04) 容器中测试 CMake 构建,已经安装 C++等开发环境。

./admin/dev.sh

实战进阶

使用 C++/CMake 项目脚手架,加快项目开发速度。

Clause 的项目启动时便是以 cpp-kick-starter 为脚手架工程。

本系列文章

王海良@Chatopera 聊天机器人 机器学习 智能客服
Chatopera 联合创始人 & CEO,运营聊天机器人平台 https://bot.chatopera.com,让聊天机器人上线!2015年开始探索聊天机器人的商业应用,实现基于自然语言交互的流程引擎、语音识别、自然语言理解,2018年出版《智能问答与深度学习》一书。