分类
大小:31.6M更新:2018-05-17
类别:编程工具系统:WinAll,Win7
CMake是一款免费实用的编程工具,旨在构建、测试和软件打包。该软件是用于控制软件使用简单的平台和编译器编译过程独立配置文件。CMake生成本机makefile和工作区,可以使用您所选择的编译器环境。
CMake是用于控制软件使用简单的平台和编译器编译过程独立配置文件。CMake生成本机makefile和工作区,可以使用您所选择的编译器环境。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。
运行GUI的cmake界面:
执行Configure:
运行之后,生成了如下文件:
生成Makefile:
执行Generate之后生成如下文件:
运行make进行编译:
编译完成后,在build目录生成Tutorial.exe,运行Tutorial.exe 25就可以看到运行结果:
运行make install安装程序:
运行make test进行测试:
CMake的所有的语句都写在一个叫:CMakeLists.txt 的文件中。当CMakeLists.txt文件确定后,可以用ccmake命令对相关 的变量值进行配置。这个命令必须指向CMakeLists.txt所在的目录。配置完成之后,应用cmake命令生成相应的makefile(在Unix like系统下)或者 project文件(指定用window下的相应编程工具编译时)。
其基本操作流程为:
$> ccmake directory
$> cmake directory
$> make
其中directory为CMakeList.txt所在目录;
第一条语句用于配置编译选项,如VTK_DIR目录 ,一般这一步不需要配置,直接执行第二条语句即可,但当出现错误时,这里就需要认为配置了,这一步才真正派上用场;
第二条命令用于根据CMakeLists.txt生成Makefile文件;
第三条命令用于执行Makefile文件,编译程序,生成可执行文件;
CMake的执行就是这么简单,其难点在于如何编写CMakeLists.txt文件,下面结合例子简单介绍CMakeLists.txt的编写,看下面这个CMakeLists.txt
#project name
PROJECT(test_math)
#head file path
INCLUDE_DIRECTORIES(
include
)
#source directory
AUX_SOURCE_DIRECTORY(src DIR_SRCS)
#set environment variable
SET(TEST_MATH
${DIR_SRCS}
)
#set extern libraries
SET(LIBRARIES
libm.so
)
#add executable file
ADD_EXECUTABLE(../bin/bin ${TEST_MATH})
#add link library
TARGET_LINK_LIBRARIES(../bin/bin ${LIBRARIES})
或者用下面这个CMakeLists.txt
#project name
PROJECT(test_math)
#head file path
INCLUDE_DIRECTORIES(
include
)
#source directory
AUX_SOURCE_DIRECTORY(src DIR_SRCS)
#set environment variable
SET(TEST_MATH
${DIR_SRCS}
)
#add executable file
ADD_EXECUTABLE(../bin/bin ${TEST_MATH})
#add link library
TARGET_LINK_LIBRARIES(../bin/bin m)
这是一个测试数学函数的程序的CMakeLists.txt,"#"后面为注释的内容,CMake的命令全部为大写
第2行指定生成的工程名为test_math
第4行指定头文件目录为include
第8行指定源文件目录为src,并将其赋值给环境变量DIR_SRCS
第10行设定环境变量TEST_MATH的值为环境变量DIR_SRCS的值,此处用于显示如何用环境变量对环境变量进行赋值
第14行将数学函数库赋值给环境变量LIBRARIES,当然,可以不用这个环境变量,而在后面直接使用该库名
第18行用于指定生成文件,将环境变量TEST_MATH目录下的所有文件编译生成../bin目录下的可执行文件bin
第20行指定../bin/bin执行时的链接库为环境变量LIBRARIES的值-libm.so
下面给出源文件
/src/main.c:
#include<stdio.h>
#include"../include/a.h"
int main()
{
double b=25.0;
double a=0.0;
a=get_sqrt(b);
printf("a is %lf, b is %lf\n",a,b);
return 0;
}
/src/a.c
#include"../include/a.h"
double get_sqrt(double var1)
{
return sqrt(var1);
}
/include/a.h
#ifndef A_FILE_HEADER_INC
#define A_FILE_HEADER_INC
#include<math.h>
double get_sqrt(double var1);
#endif
将CMakeLists.txt放在当前目录下,执行CMakeLists.txt
$> cmake .
$> make
即可生成可执行文件,在目录/bin下的bin文件,好了运行看其效果是否和所想一样。
Qt Creator编程工具MV5.7.0 官方多语中文版
查看Icom艾可慕IC-F33/IC-F43对讲机编程写频软件编程工具Mv2.3官方版
查看Markdown To CHM(LME)编程工具Mv0.0.6.4官方版
查看易语言无名小卒模块编程工具Mv1.2.6 PC版
查看KOOV机器人(编程学习软件)编程工具Mv1.0.1 官方版
查看CodeLobster IDE Pro编程工具Mv1.6.2 中文免费版
查看串口调试助手(COMHelper)编程工具.04Mv1.06免费版
查看Mind+ESP32离线安装器编程工具M0.1官方版
查看PhpStorm 2018编程工具M3.4绿色版
查看支付宝小程序开发者工具编程工具Mv1.5.10 官方版
查看Java SE&NetBeans IDE编程工具MV8.1 复合软件包
查看本森广播代码生成器编程工具M1.1.21.11官方版
查看web表单编辑器(Arclab Web Form Builder)编程工具Mv5.0.19 免费版
查看WeFlow网站前端开发工具绿色版编程工具Mv1.3.3正式版
查看微信小程序开发必备工具编程工具M0.11最新版
查看webstorm10汉化包编程工具M集成版
查看PHP快速开发框架(DolphinPHP)编程工具Mv1.4.3官方版
查看55代码生成器编程工具.09Mv1.1 绿色版
查看Ink To Code编程工具.06M
查看易语言源码空变量分析器编程工具M1.0 绿色版
查看蓝鸟2.5最新版编程工具M
查看NetBeans IDE编程工具MV8.2 官方中文完整版
查看WinASM studio编程工具M5.1.8.0 简体中文版
查看LabVIEW NXG编程工具Mv3.0.0 x64免费版
查看点击查看更多