cmake 的使用

2023-05-16

官网教程:https://cmake.org/cmake-tutorial/

第一个简单的例子

源文件:tutorial.cpp


 1 // A simple program that computes the square root of a number
 2 #include <stdio.h>
 3 #include <stdlib.h>
 4 #include <math.h>
 5 int main (int argc, char *argv[])
 6 {
 7   if (argc < 2)
 8     {
 9     fprintf(stdout,"Usage: %s number\n",argv[0]);
10     return 1;
11     }
12   double inputValue = atof(argv[1]);
13   double outputValue = sqrt(inputValue);
14   fprintf(stdout,"The square root of %g is %g\n",
15           inputValue, outputValue);
16   return 0;
17 }  

同级目录下新建文件 CMakeLists.txt,内容如下:


cmake_minimum_required(VERSION 2.6)
project (Tutorial)
add_executable(Tutorial tutorial.cpp)  

然后,如果是在linux下,在当前路径下打开Terminal,执行以下命令:

分别是:

1、cmake . # 这个命令会根据CMakeLists.txt生成makefile文件。

2、make  # 这个命令会自动查找makefile文件并编译生成可执行文件

3、执行可执行文件,从CMakeLists.txt文件中可知生成的可执行文件名为:Tutorial,函数功能是计算平方根,

  执行命令 ./Tutorial 9 # 计算9的平方根得到3

 

 


wmz@ubuntu:~/Desktop/testcmake$ cmake .
-- Configuring done
-- Generating done
-- Build files have been written to: /home/wmz/Desktop/testcmake
wmz@ubuntu:~/Desktop/testcmake$ make 
[100%] Built target Tutorial
wmz@ubuntu:~/Desktop/testcmake$ ./Tutorial 9
The square root of 9 is 3  

 如果是在window下,执行cmake . 会生成一个vs 工程;执行make 会报错找不到make。原因是在windows下我安装了cmake,所以可以使用cmake命令,

但是我在windows下没有安装make(MingWin是包含make的),我只安装了visual studio 2015,所以cmake . 会生成一个vs2015的工程。

转载于:https://www.cnblogs.com/juluwangshier/p/11609100.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cmake 的使用 的相关文章

随机推荐

  • SpringSecurity集成oauth2(jwt)

    版本 springboot版本 xff1a 2 2 7 RELEASE spring security oauth2版本 xff1a 2 3 6 RELEASE 主要依赖 span class token tag span class to
  • 微信小程序开发——点击按钮获取用户授权没反应或反应很慢的解决方法

    异常描述 xff1a 点击按钮获取用户手机号码 xff0c 有的时候会出现点击无反应 或很久之后才弹出用户授权获取手机号码的弹窗 xff0c 这种情况下 xff0c 也会出现点击穿透的问题 xff08 详见 xff1a 微信小程序开发 连续
  • 09-cmake语法-add_dependencies()

    在编译器的命令行上 xff0c 为当前路径以及下层路径的源文件加入一些define flag 这个命令可以用来引入任何flag xff0c 但是它的原意是用来引入预处理器的定义 那些以 D或 D开头的 看起来像预处理器定义的flag xff
  • WordPress教程之判断文章所属分类函数in_category、is_category

    最近自己在修改一个采用Wordpress程序的博客的时候需要用到一个特殊的功能 xff1a 我需要判断这篇文章是属于哪些分类 xff0c 如果属于我设定的分类下的文章 xff0c 则输出一个DIV内容 按道理说实现这个功能应该不算太难 xf
  • 对SIP摘要认证方案的理解

    一 口令认证常见机制 基于口令认证的系统一般有以下几种口令验证方式 xff1a 1 客户端以明文形式将用户名密码通过网络发送到服务器 xff0c 服务器与已经保存在服务端的用户名密码进行比较 xff0c 一致则通过验证 xff1b HTTP
  • 第三方库引用:头文件和库文件

    附加库与头文件目录 xff1a 1 头文件 头文件引用时的查找路径 xff1a c c 43 43 gt general 将第三方库的头文件所在文件夹包含进去 影响到文件中 h头文件的引用路径的写法 源码 xff1a include a h
  • 深入理解Java虚拟机JVM

    JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java exe来完成 通过下面4步来完成JVM环境 1 创建JVM装载环境和配置 2 装载JVM dll 3 初始化JVM dll并挂界到JNIENV JNI调用接口 实例 4
  • Kubernetes Pod的数据卷Volume

    概述 由于容器本身是非持久化的 xff0c 因此需要解决在容器中运行应用程序遇到的一些问题 首先 xff0c 当容器崩溃时 xff0c kubelet将重新启动容器 xff0c 但是写入容器的文件将会丢失 xff0c 容器将会以镜像的初始状
  • Nodejs模块依赖的几种方式

    a js function add x y return x 43 y function sub x y return x y let str 61 34 God like 34 const arr 61 1 2 3 4 exports a
  • 9.26

    以后可能会在每次考试后 当然极大概率咕咕咕 找一道题讲讲其实是三道题太多了 那么既然量减了 质量就会提上去了也不一定 一次可能会根据某一道题说些思路 反正也没人看 随便写一些留着自己用好了 于是本期节目为您带来 换根dp 这东西好像考了两三
  • 9.28

    昨天的大概就咕咕咕了 今天说差分 多图预警 于是 进入正题 今天的主题是差分 但我们或许也应该先说说前缀和 众所周知 差分是前缀和的逆运算 跟我一起念三遍 差分是前缀和的逆运算 差分是前缀和的逆运算 差分是前缀和的逆运算 差分是前缀和的逆运
  • sde for oracle 10g 安装和链接

    sde版本9 3 xff0c oracle 的版本最好是 10 2 就是 R2 xff0c 如果是10 1的话会很麻烦 xff08 我没有装成功 xff09 几个容易忘记的地方 xff1a catalog的连接时的设置 xff1a Serv
  • R语言-画柱形图

    barplot 函数 1 柱形图 gt sales lt read csv 34 citysales csv 34 header 61 TRUE 读取数据 gt barplot sales ProductA names arg 61 sal
  • 靶机大全

    本指南主要通过介绍一些常用渗透环境 给pentester们以自己修炼的机会 并配合一些常规的pentest tools达到学习目的 名称 WebGoat 项目地址 http www owasp org index php OWASP Web
  • Cannot create property 'default' on boolean 'true'"

    解决办法 xff1a 删除node modules包 xff0c 重新npm i 转载于 https www cnblogs com 92xcd p 10443538 html
  • 怎么增加照片的KB大小

    之前都是要想办法压缩图片的大小 今天有人发来一张1 8MB的图片让我帮忙调到30MB左右 一下子放大这么多着实有点茫然 之后想到了一个办法 首先把图片占用体积变大 xff0c 是不会增加清晰度的 xff0c 而减小占用体积却会降低清晰度 第
  • 参数 返回值

    1 函数 函数是对功能的封装 语法 def 函数名 形参列表 函数体 代码块 return 调用 函数名 实参列表 2 返回值 return 在函数执行的时候 如果遇到return 直接返回 1 如果函数什么都不写 不写return 没有返
  • 抽象类调用自己的抽象方法,实现来自实现类(很常用)

    直接上代码 public abstract class Parent public abstract void dosomething public void say dosomething System out println 34 ww
  • 学习笔记:51单片机(STC89C52)如何定时10ms

    1 定时器如何定时 首先大致描述一下定时器的定时原理 xff0c 其实本质就一句话 xff1a 每经过一个机器周期 xff0c 寄存器就加1 这里就又要解释什么是时钟周期 xff0c 什么是机械周期 我们的51单片机无论是开发板还是最小系统
  • cmake 的使用

    官网教程 xff1a https cmake org cmake tutorial 第一个简单的例子 源文件 xff1a tutorial cpp 1 A simple program that computes the square ro