Cmake零基础教程——常用语法命令

2023-11-14

编译选项

在cmake脚本中,设置编译选项有两种方式:

1、可以通过add_compile_options命令;

2、也可以通过set命令修改CMAKE_CXX_FLAGS或CMAKE_C_FLAGS。

存在即合理,那么使用这两种方式存在怎样的区别?

1. add_compile_options命令添加的编译选项是对所有编译器的(包括c和c++编译器),

2. set命令设置CMAKE_C_FLAGS或CMAKE_CXX_FLAGS变量则是分别只针对c和c++编译器的。

例子

#判断编译器类型,如果是gcc编译器,则在编译选项中加入c++11支持if(CMAKE_COMPILER_IS_GNUCXX) set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}") message(STATUS "optional:-std=c++11")endif(CMAKE_COMPILER_IS_GNUCXX) 

CMAKE_C_COMPILER:指定C编译器

CMAKE_CXX_COMPILER:指定C++编译器

CMake的输入

COMMAND(args)

这里的 COMMAND 是命令行的名称,args是用空格分割的参数列表。典型的,对与每一个项

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

Cmake零基础教程——常用语法命令 的相关文章

  • 在ubuntu里面安装交叉编译工具(树莓派的)

    交叉编译是什么 为什么要交叉编译 交叉编译 是在一个平台上生成另一个平台上的可执行代码 我们再windows上面编写C51代码 并编译成可执行代码 如xx hex 是在c51上面运行 不是在windows上面运行我们在ubuntu上面编写树
  • ZYNQ图像处理项目——帧差法运动目标跟踪

    一 帧差法运动目标跟踪概述 1 1 基本原理 帧差法顾名思义就是对输入的前后两帧图像做差值 然后检测出两帧图像不同的地方 并且可以实时跟踪运动的目标轮廓 本设计是基于ZYNQ7010和VIVADO2018 3实现的帧差法运动目标检测 针对运
  • Flutter 30: 图解自定义底部状态栏 ACEBottomNavigationBar (一) ...

    小菜刚接触 Flutter 时接触到底部状态栏 BottomNavigationBar 方便快捷 但随着使用过程发现依然有一些限制 包括图片选择 样式凸出 固定 NavigationItem 位等 小菜不才 准备照葫芦画瓢 自定义一个底部状
  • PowerDesigner链接Oracle导出数据模型,并且显示中文注释

    1 首先新建模型 选择物理数据模型 2 对新建模型命名 选择对应的数据库版本 3 选中新建的模型图 选择从数据库更新模型 4 选择使用数据源 5 新建数据源 如果在当前页面无法选择系统数据源 说明当前软件不是在管理员模式下运行的 退出 重新
  • dataframe列时间字段提取年、月、日、时、分

    dataframe列的 日期时间 进行提取对应的年月日时分 import pandas as pd df pd read csv file encoding utf 8 sig dateframe 日期数据 字符型转换成日期格式 df 日期

随机推荐

  • 日语学习之——拗音

    前言 本文主要介绍日语学习中的拗音 拗音的拼写及发音准则 拗音 33个 发音原则 段假名 小写 一 行 1 1 行 kya 第1行 元音行 段 段 段 行 kya kyu kyo 1 2 相关单词 假名 日本汉字 中文意思 外来语 取消 和
  • int *const p和 int const *p 的区别

    1 对于int const p const 限定的是p所指的对象 所以p指针所指的地址在这个情况下是不能改变的 2 对于 int const p const限定的是 p 所以 p所指的值是不可以改变的 但是可以改变p所指的对象 3 更多的列
  • buuctf-[极客大挑战 2019]LoveSQL1(小宇特详解)

    buuctf 极客大挑战 2019 LoveSQL1 小宇特详解 1 这里有账号和密码 这里先尝试一下万能密码 在账号那里注入 1 or 1 1 密码随便 这里继续进行注入 判断有几列 1 order by 3 这里试一试4 1 order
  • 马氏距离例题详解(全网最详细)

    马氏距离例题详解 定义 马哈拉诺比斯距离是由印度统计学家马哈拉诺比斯 英语 提出的 表示数据的协方差距离 它是一种有效的计算两个未知样本集的相似度的方法 与欧氏距离不同的是它考虑到各种特性之间的联系 例如 一条关于身高的信息会带来一条关于体
  • 云安全威胁和责任

    云计算的共享特性和按需定制本质除了给企业带来效率上提升 也引入了新的安全威胁 有可能使企业得不偿失 之前云安全联盟 CSA 的报告便指出 云服务天生就能使用户绕过公司范围内的安全策略 建立起自己的影子IT项目服务账户 新的安全控制策略必须被
  • 访问者模式(Visitor)

    设计模式系列 Visitor 访问者模式 对象行为模式 1 意图 表示一个作用于某对象结构中的各元素的操作 它使你可以在不改变各元素的类的前拐下定义作用于这些元素的新操作 2 适用性 在下列情况下使用Visitor模式 一个对象结构包含很多
  • 数字水印技术:概念、应用及现状

    出处 伯晓晨 沈林成 常文森 一 引言 随着信息时代的到来 特别是Internet的普及 信息的安全保护问题日益 突出 当前的信息安全技术基本上都以密码学理论为基础 无论是采用传统的密钥系统 还是公钥系统 其保护方式都是控制文件的存取 即将
  • java.lang.NoSuchMethodError: org.apache.curator.framework.api.CreateBuilder.creatingParentsIfNeeded(...

    1 错误信息 java lang NoSuchMethodError org apache curator framework api CreateBuilder creatingParentsIfNeeded Lorg apache cu
  • shell无限死循环

    学习shell脚本 练习脚本时 每次测试脚本都需要重新打开文件 为了方便就想到了死循环 想到shell脚本是基于C语言和C 编写的 顺着想法试了一通C循环方法 没对一个 经过网上大佬们的文章学习 学习到了while循环和for循环 记录一下
  • 九、基本数据类型-浮点类型

    如果 我们 创建了 一个浮点类型的变量 那么 这个变量 就可以用来 存储 浮点类型的数据 也就是 含有小数数位的数据 如果 一个数字 含有 小数点 以及 后面的数位 那么 这个数字 就属于 浮点类型 如果 小数点前面 或者 后面的数位 是
  • Java8对list排序(正序倒序)

    话不多说直接上干货 这里我写了一个list数组里边add了三个Order实体 我的ucId price qty都是int类型 第一个实例 我对price进行从小到大的排序 我的price是int类型 显然这里的第一种方式已经给出提示了 让使
  • Matlab实现Bi-Kmeans算法(每行代码标注详细注解)

    逐行代码讲解Bi Kmeans算法的原理及其实现 后续将更新该算法的进一步优化的代码的讲解 目录 一 什么是Kmeans 算法 二 bi kmeans算法原理 三 bi kmeans算法代码解析 四 总结 一 什么是Kmeans 算法 K
  • 动态规划 Leetcode 322 Coin Change(零钱兑换)

    题目 给定不同面额的硬币 coins 和一个总金额 amount 编写一个函数来计算可以凑成总金额所需的最少的硬币个数 如果没有任何一种硬币组合能组成总金额 返回 1 链接 中文版 https leetcode cn com problem
  • mysql启动命令

    1 查看mysql版本 方法一 status 方法二 select version 2 Mysql启动 停止 重启常用命令 a 启动方式 1 使用 service 启动 root localhost service mysqld start
  • 清华大学,AIGC发展研究,162页PDF

    点击上方 Python与机器智能 选择 星标 公众号 第一时间获取价值内容 收集不宜 我将资料免费分享在我的星球 后续也将会持续更新 欢迎大家加入我的这个 AIGC与GPT 知识星球 价格便宜 目前已有近130人 作为一个大厂算法工程师和机
  • C++ 封装 类

    封装 可以达到 对外提供接口 屏蔽数据 对内开放数据 比如我们用struct封装的类 即知其接口 又可以直接访问其内部数据 这样却没有达到信息隐蔽的功效 而class则提供了这样的功能 屏蔽内部数据 对外开放接口 struct中所有行为和属
  • 渣硕2020暑期实习面经

    春招也基本结束了 拿了点offer 因为一开始就没有准备找区块链方向岗位 所以准备的还是研发岗 简历写了一些分布式 所以分布式理论问的也蛮多 感觉形势蛮严峻的 好多厂貌似都不开放暑期实习了 个人比较遗憾的就是微软笔试时候浏览器没搞好 导致没
  • 错误使用 network/subsasgn>network_subsasgn (line 550) net.IW{1,1} must be a 16-by-19 matrix. 出错 network

    该代码为基于PSO和BP网络的预测 清空环境 clc clear 读取数据 load CHE2 mat 节点个数 inputnum 17 hiddennum 16 outputnum 1 训练数据和预测数据 input train inpu
  • mysql 集群 一主两从环境测试,MHA主备切换

    目录 前言 1 相关安装文件 2 虚拟机 mysql数据库安装 2 1 安装VMware 15 以及 linux 操作系统 2 2 安装mysql数据库 2 2 1安装环境准备 2 2 2 mysql 数据库安装 2 3 克隆centos虚
  • Cmake零基础教程——常用语法命令

    编译选项 在cmake脚本中 设置编译选项有两种方式 1 可以通过add compile options命令 2 也可以通过set命令修改CMAKE CXX FLAGS或CMAKE C FLAGS 存在即合理 那么使用这两种方式存在怎样的区