admin管理员组文章数量:1613754
一、背景介绍
“CMake”这个名字是"Cross platform Make"的缩写。虽然名字中含有"make",但是CMake和Unix上常见的“make”系统是分开的,而且更为高端。 它可与原生建置环境结合使用,例如:make、苹果的Xcode与微软的Visual Studio。
CMake是个一个开源的跨平台自动化建构系统,用来管理软件建置的程序,并不相依赖某特定编译器。可支持多层目录、多个应用程序与多个库。 它用配置文件控制建构过程(build process)的方式,这和Unix的make相似,只是CMake的配置文件取名为CMakeLists.txt。
CMake并不直接建构出最终的软件,而是产生标准的建构档(如Linux的Makefile或Windows Visual C++的projects/workspaces),最后再依一般的建构方式使用。
这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是CMake和SCons等其他类似系统的区别之处。
二、Linux下安装
在linux环境下打开网页浏览器,输入网址:Download | CMake,找到最新版本的位置。
使用源码安装
tar -xvf cmake-3.14.5.tar
cd cmake-3.14.5
./bootstrap
make
make install
编译时提示 Could NOT find OpenSSL 的解决方法:
apt-get install libssl-dev
cmake 会默认安装在 /usr/local/bin 下面
查询cmake --version
cmake version 3.14.5
三、Linux编译代码
1、编写CMakeLists.txt文件
#1.cmake verson,指定cmake版本
cmake_minimum_required(VERSION 3.2)
#2.project name,指定项目的名称,一般和项目的文件夹名称对应
PROJECT(test_sqrt)
#3.head file path,头文件目录
INCLUDE_DIRECTORIES(include)
#4.source directory,源文件目录
AUX_SOURCE_DIRECTORY(src DIR_SRCS)
#5.set environment variable,设置环境变量,编译用到的源文件全部都要放到这里,否则编译能够通过,但是执行的时候会出现各种问题,比如"symbol lookup error xxxxx , undefined symbol"
SET(TEST_MATH ${DIR_SRCS})
#6.add executable file,添加要编译的可执行文件
ADD_EXECUTABLE(${PROJECT_NAME} ${TEST_MATH})
#7.add link library,添加可执行文件所需要的库,比如我们用到了libm.so(命名规则:lib+name+.so),就添加该库的名称
TARGET_LINK_LIBRARIES(${PROJECT_NAME} m)
2、在终端,分别输入命令
mkdir build
cd build
cmake ..
make
四、Windows下安装
去官网,下载客户端Download | CMake
安装后, 确认是否安装成功
五、cmake转换为 VS2017工程
我们从github上,下载一个工程https://github/ZLMediaKit/ZLToolKit
它的结构如下
我们如何编译呢?
使用cmake-gui打开工程并生成vs工程文件
如图,
- 在"Where is the source code"文本框中,输入或者“browse”到源代码的根目录(包含CMakeLists.txt的文件夹)
- 在"Where to build the binaries" 文本框中,输入或者“browse”任何你喜欢的文件夹中——它会被用于输出构建结果(lib文件,头文件,dll文件以及执行程序。如果没有这个文件夹系统会帮你创建。注意,你可以按照需要声称到不同的文件夹中(但我们先不讨论这些细节)。
- 单击屏幕下方的'Configure'按键。
- 选择你的目标编译平台,例如"Visual Studio 2017"
- 当系统提示是否创建构建目录的时候选择'Ok'
- 等待configure执行结束
- 屏幕上现在会有一些配置设置,并用红色标记(这是用来指出你是第一次看到他们)。你可以在这里手动配置这些选项,不过现在我们只需要再次选择'Configure'。
- 等运行结束了选择"Generate"按键。
- 构建文件将会在你之前选择的文件夹下面产生,这时候就可以退出cmake来进行真正的编译工作。
以上就是使用CMake的过程!在你之前选择的文件夹中,你会发现有一系列工程文件,现在只需要找到并打开主项目工程文件(例如ZLToolKit.sln)。
参考:
CMake的安装及示例_$好记性还是要多记录$-CSDN博客_安装cmake
cmake - 哔哩哔哩
CMake 入门实战 - 简书
版权声明:本文标题:Linux与Windows下CMake的安装与编译 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1728658002a1168383.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论