cmake的一个测试demo

news2025/2/4 6:36:03

目录

  • 一、ubuntu中安装cmake
  • 二、单个源文件
    • main.c
    • CMakeLists.txt的编写
  • 三、多个源文件
    • main.c
    • test1.c
    • test1.h
    • CMakeLists.txt的编写

一、ubuntu中安装cmake

sudo apt-get install cmake

在这里插入图片描述

  • 查看cmake的版本号
cmake --version

在这里插入图片描述

二、单个源文件

main.c

#include<stdio.h>

int main()
{
    printf("this is my first cmake test\n");
    return 0;
}

CMakeLists.txt的编写

  • 不能是cmakelist.txt,应该是CMakeLists.txt
    在这里插入图片描述
mv cmakelists.txt CMakeLists.txt

在这里插入图片描述

  • 生成Makefile
cmake .

在这里插入图片描述

  • 生成可执行文件
make

在这里插入图片描述

  • 执行编译生成的可执行文件
    在这里插入图片描述

三、多个源文件

main.c

#include"test1.h"

int main()
{
    printf("this is my first cmake test\n");
    print_test_1();
    return 0;
}

test1.c

#include "test1.h"


void print_test_1()
{
    printf("this is in print_test_1 function\n");
}

test1.h

#ifndef TEST_H_
#define TEST_H_
#include <stdio.h>
void print_test_1();

#endif

CMakeLists.txt的编写

# CMake 最低版本号要求
cmake_minimum_required (VERSION 2.8)
 
# 项目信息
project (demo1)
 
# 指定生成目标
add_executable(Demo main.c test1.c)

cmake .
make

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/761960.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【微信小程序-uniapp】CustomButton 自定义常用吸底按钮组件

1. 效果图 2. 组件完整代码 <template><view:class="[custom-btn flex-center, size == big ? big : mid, type == primary ? primary : info, plain ? plain : , disabled ? disabled : , round ? round : ]"

苹果笔买原装的还是随便买?ipad触控笔推荐

当像iPad这样的平板电脑功能变得越来越强&#xff0c;能够承载的功能也会越来越多&#xff0c;并且会越来越多地渗透到我们的日常生活和工作中。随着电子设备的更新和软件的不断完善&#xff0c;电容笔的性能也在不断的提升&#xff0c;因此如何挑选一款相对好用的电容笔&#…

【Kafka】Ubuntu 部署kafka中间件,实现Django生产和消费

原文作者&#xff1a;我辈李想 版权声明&#xff1a;文章原创&#xff0c;转载时请务必加上原文超链接、作者信息和本声明。 文章目录 前言一、Kafka安装1.下载并安装Java2.下载和解压 Kafka3.配置 Kafka4.启动 Kafka5.创建主题和生产者/消费者6.发布和订阅消息 二、KafkaDjang…

AIS报文解析

!AIVDM,1,1,A,13u?etPv2;0n:dDPwUM1U1Cb069D,023* 我们知道消息内容就是13u?etPv2;0n:dDPwUM1U1Cb069D&#xff0c;这是一串ASCII码字符串&#xff0c;我们可以获取其对应的ASCII码数值。 但是在AIS的编码表不需要这么多符号&#xff0c;所以截取了其中一部分&#xff0c;如…

良心推荐!5款支持Linux系统的国产软件,兼容国产操作系统

虽然市面上大多数用户使用的是Windows操作系统&#xff0c;但也有不少使用Linux系统的用户&#xff0c;特别是国产操作系统的崛起&#xff0c;让Linux系统阵营的用户越来越多。Linux不像Windows那样&#xff0c;有着完整的生态环境丰富的软件应用&#xff0c;但也逐渐在完善中&…

探秘Session跨页面传递数据的神奇力量

探秘Session跨页面传递数据的神奇力量 前言一、什么是 Session 会话?二、如何创建 Session 和获取(id 号,是否为新)三、Session 域数据的存取四、Session 生命周期控制五、Session的销毁五、浏览器和 Session 之间关联的技术内幕 前言 本博主将用CSDN记录软件开发求学之路上亲…

自定义类型详解(结构体、枚举、联合)

目录 一、结构体 1.1结构体的认识&#xff1a; 1.2结构体的声明 1.先声明结构体类型&#xff0c;再定义该类型的变量 2.在声明类型的同时定义 1.3结构体的特殊声明 1.4结构体的自引用 1.5结构体的初始化和访问 1.6结构体内存对齐 1.7修改默认对齐数 1.8结构体传参 二…

驱动程序和应用程序

驱动程序和应用程序 一、应用程序和驱动程序如何关联起来的 1、文件描述符fp 与 struct file 应用程序&#xff08;APP&#xff09;在打开文件时&#xff0c;可以得到一个整数&#xff0c;这个整数被称为文件句柄。对于 APP 的每一个文件句柄&#xff0c;在内核里面都有一个…

AI辅助瞄准系统开发与实战(三)-竣工

文章目录 前言GUI功能整合提示框功能整合 总体代码自定义线程池YoloDectect工具类窗口绘制鼠标控制控制器GUI界面 总结 前言 okey&#xff0c;大概经过&#xff0c;两天的开发&#xff0c;我在这里完成了基本的全部开发。 那么我们先来看看大概的效果吧&#xff1a; 在这里的…

Vue3通透教程【十八】TS为组件的props标注类型

文章目录 &#x1f31f; 写在前面&#x1f31f; 回顾defineProps的基础写法&#x1f31f; defineProps的TS写法&#x1f31f; withDefaults方法&#x1f31f; 拓展&#x1f31f; 写在最后 &#x1f31f; 写在前面 专栏介绍&#xff1a; 凉哥作为 Vue 的忠实 粉丝输出过大量的 …

解决 Error:java: Compilation failed: internal java compiler error

编译失败 因为maven工程项目的 多个model 模块的jdk版本不同 改成一样的就可以了

mysql进阶 —— 主从复制和读写分离

前言 在这篇文章中荔枝会梳理MySQL中有关主从复制和读写分离的相关知识点&#xff0c;主要包括基本的概念、配置搭建、命令和模式选择等几个方面。MySQL主从复制和读写分离属于MySQL数据库学习中的高阶内容了&#xff0c;大家要和荔枝一起加油学习噢~~~希望能帮助到需要的小伙伴…

【机密计算标准】GB/T 41388-2022 可信执行环境基础安全规范

1 范围 本文件确立了可信执行环境系统整体技术架构&#xff0c;描述了可信执行环境基础要求、可信虚拟化系统、可信操作系统、可信应用与服务管理、跨平台应用中间件等主要内容及其测试评价方法。 2 规范性引用文件 下列文件中的内容通过文中的规范性引用面构成本文件必不…

MFC 基于数据库的管理系统

文章目录 初始化设置菜单 添加数据库类创建数据库配置数据库 全部代码 初始化 创建文件选择基于CListView 初始化数据 public:CListCtrl& m_list;CSQLView::CSQLView() noexcept:m_list(GetListCtrl()) {// TODO: 在此处添加构造代码}void CSQLView::OnInitialUpdate() {C…

RK3588 CPU GPU NPU 定频和性能模式设置方法以及温度监控

一. CPU定频 1. RK3588的cpu是4个A554个A76&#xff0c;分为3组单独管理&#xff0c;节点分别是&#xff1a; /sys/devices/system/cpu/cpufreq/policy0&#xff08;对应四个A55:CPU0-CPU3&#xff09; /sys/devices/system/cpu/cpufreq/policy4&#xff08;对应2个A76:CPU4-…

【Java从0到1学习】01 Java 概述

1. Java概述 Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。由 James Gosling和同事们共同研发&#xff0c;并在 1995 年正式推出。 后来 Sun 公司被 Oracle &#xff08;甲骨文&#xff09;公司收购&#xff0c;Java…

微信小程序基于Promise封装发起网络请求

1.创建一个request.js // 相当于域名 const baseURL ***************; // 暴露一个request函数 export function request(parms) {// 路径拼接const url baseURL parms.url;// 请求体&#xff0c;默认为{}const data parms.data || {};// 请求方式&#xff0c;默认为GETco…

<Babel> 前端语言的巴别塔

Babel中文站点&#xff1a;https://www.babeljs.cn/ Babel外文站点&#xff1a;https://babeljs.io/ 什么是Babel Babel取自人类语言最早的传说&#xff0c;Tower of Babel。 上帝摧毁了巴别塔上说着共同语言的我们&#xff0c;又被Babel重新带了回来。 如果说巴别塔是人们对混…

windows命令行运行mysql

1.运行命令&#xff1a;mysql -u用户名 -p密码 2.创建数据库&#xff1a; create 数据库名称 &#xff1b; 3.use 数据库 4.show tables &#xff1b; 5.创建用户&#xff0c;分配权限 6.退出 ctrlc 7.切换用户

海外app在谷歌和苹果商店中该如何设置关键词

主导应用商店搜索结果的方法就是关键词的设置。我们需要寻找关键词&#xff0c;跟踪关键词排名并监控其应用的性能&#xff0c;这样就能大大的提高应用的可见度。 优先考虑可推动Android或ios应用自然下载量的关键词&#xff0c;使用搜索量指标了解某个关键词在应用商店中的搜…