CMake aux_source_directory 学习
如下,prj是空文件夹;

add.h;
#include <iostream>using namespace std;int add1(int a, int b);
num.h;
int num1=100;
int num2=301;
add.cpp;
#include "add.h"int add1(int i, int j)
{return i + j;
}
main.cpp;
#include <conio.h>
#include "add.h"
#include "num.h"int main()
{cout << add1(num1, num2) << endl;getch();return 0;
}
CMakeLists.txt如下;
cmake_minimum_required(VERSION 3.10)
project(myadd VERSION 1.0)
aux_source_directory(. ALL_SRCS)
add_executable(myadd ${ALL_SRCS})
project指令,之前只是指定了项目名,这次也指定了项目版本,生成的项目的版本;
aux_source_directory指令,
aux_source_directory(< dir > < variable >)
搜集所有在指定路径下的源文件的文件名,将输出结果列表储存在指定的变量中。
就是把一个文件夹下的全部源文件的文件名,存到一个变量中;
aux_source_directory(. ALL_SRCS),这是把当前目录下的所有源文件名存入变量ALL_SRCS;点应该是代表所有的文件名;
cmake语法中,${变量名} 这是引用变量的语法;
add_executable(myadd ${ALL_SRCS}),这样就把全部文件名加入myadd项目;
然后进行cmake;
红的先不管;
done了以后看一下生成了解决方案;
从VS2015打开生成的sln,像前文删除多余的;
看一下都有了;但是这次不知道为什么自己的两个头文件是在外部依赖项中,之前是单独有一个头文件的文件夹;从效果来说是一样的;
运行一下;自己的四个文件都包含进来了;结果如下;
相关文章:
CMake aux_source_directory 学习
如下,prj是空文件夹; add.h; #include <iostream>using namespace std;int add1(int a, int b); num.h; int num1100; int num2301; add.cpp; #include "add.h"int add1(int i, int j) {return i j; } main.cpp&#x…...
Mybatis中延迟加载~
延迟加载: 等一会加载,在多表关联查询操作的时候可以使用到的一种方案,如果是单表操作就完全没有延迟加载的概念。 多表查询例如,查询用户和部门信息,如果我们仅仅只是需要用户的信息,而不需要用户对应的…...
【C语言】memmove()函数(拷贝重叠内存块函数详解)
🦄个人主页:修修修也 🎏所属专栏:C语言 ⚙️操作环境:Visual Studio 2022 目录 一.memmove()函数简介 1.函数功能 2.函数参数 1>.void * destination 2>.onst void * source 3>.size_t num 3.函数返回值 4.函数头文件 二.memmove()函数…...
04-流媒体-ffmpeg.c源码分析
ffmpeg.c是一个使用ffmpeg库的参考代码,实现了视频格式转换的功能,类似于我们常用的格式工产,源代码的的目录是: ffmpeg-4.2.2/fftools/ffmpeg.c 和前面的ffplay一样,我们分析其源代码,主要只是为了让读者了解ffmpeg.c此文件的大概流程,并且熟悉常用的ffmpeg库的API。 下…...
迭代器 Iterator
迭代器是一种设计模式,它用于遍历集合或容器中的元素,能够访问集合的元素而无需关心集合的内部结构: 特点: 封装集合访问:迭代器封装了对集合元素的访问,通过迭代器访问集合中的元素,而无需了…...
掌握CSS Flexbox,打造完美响应式布局,适配各种设备!
🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 ⭐ 专栏简介 📘 文章引言 基…...
FlutterUnit 周边 | 收录排序算法可视化
theme: cyanosis 1. FlutterUnit 更新:排序算法可视化 排序算法可视化是用视图层表现出算法执行过程中排序的过程,感谢 编程的平行世界 在 《十几种排序算法的可视化效果,快来看看!👀》》 一文中提供的算法支持。我进行…...
代码随想录Day30 贪心05 LeetCode T435无重叠区间 T763划分字母区间 T56 合并区间
LeetCode T435 无重叠区间 题目链接:435. 无重叠区间 - 力扣(LeetCode) 题目思路: 这题思路和昨天的打气球类似,我们需要按照左区间或者右区间进行排序,然后哦判断第i个区间的左端点和第i-1个区间的右端点的大小关系,,如果大于等于,那么就无需操作,一旦…...
发展高质量存储力,中国高科技力量聚浪成潮
中国信息通信研究院指出,在全球数字化转型与产业变革的浪潮下,算力正在成为改变全球竞争格局的关键力量。而根据最新的《算力基础设施高质量发展行动计划》,算力是集信息计算力、数据存储力和网络运载力于一体的新型生产力。当前,…...
修改svc的LoadBalancer的IP引发的惨案
文章目录 背景修改externalIPs的操作api-server报错日志挽救教训 背景 k8s集群没有接外部负载均衡,部署istio的时候ingressgateway一直pending。 于是手动修改了这个lb svc的externalIP,于是k8s就崩了,如何崩的,且听我还道来。 …...
2520. 统计能整除数字的位数
2520. 统计能整除数字的位数 class Solution {public int countDigits(int num) {int res 0;int o num;while (num > 0) {if (o % (num % 10) 0) {res 1;}num num / 10;}return res;} }...
BeanUtils.copyProperties的用法
常见场景 我们如果有两个具有很多相同属性名的JavaBean对象a和b,想把a中的属性赋值到b,例如 接口中将接收到的前端请求参数XxxReqVo,我们想把这个入参转化为XxxQuery对象作为数据库的查询条件对象 传统做法是手动set,即 XxxQuery xxxQuer…...
【RabbitMQ 实战】12 镜像队列
一、镜像队列的概念 RabbitMQ的镜像队列是将消息副本存储在一组节点上,以提高可用性和可靠性。镜像队列将队列中的消息复制到一个或多个其他节点上,并使这些节点上的队列保持同步。当一个节点失败时,其他节点上的队列不受影响,因…...
PyCharm社区版安装
PyCharm社区版安装 到中国官网下载 https://www.jetbrains.com/zh-cn/pycharm/download/?sectionwindows 首次创建项目,会自动下载安装Python 3.9 社区版的区别 社区版的区别...
【LeetCode每日一题合集】2023.10.16-2023.10.22(只出现一次的数字Ⅲ)
文章目录 260. 只出现一次的数字 III⭐(异或)🐂2652. 倍数求和解法1——枚举模拟解法2—— O ( 1 ) O(1) O(1)容斥原理相似题目——1201. 丑数 III(二分查找容斥原理) 2530. 执行 K 次操作后的最大分数解法1——贪心优…...
尚硅谷大数据项目《在线教育之实时数仓》笔记003
视频地址:尚硅谷大数据项目《在线教育之实时数仓》_哔哩哔哩_bilibili 目录 第7章 数仓开发之ODS层 P015 第8章 数仓开发之DIM层 P016 P017 P018 P019 01、node001节点Linux命令 02、KafkaUtil.java 03、DimSinkApp.java P020 P021 P022 P023 第7章 数…...
【Linux】部署单体项目以及前后端分离项目(项目部署)
一、简介 以下就是Linux部署单机项目和前后端分离项目的优缺点,希望对你有所帮助。 1、Linux部署单机项目: 优点: 1.简化了系统管理:由于所有服务都在同一台机器上运行,因此可以简化系统管理和维护。 2.提高了性能&a…...
设计模式之门面模式
前言 什么是门面模式 门面模式是一种结构型设计模式,它提供了一个统一的接口,用来访问子系统中的一群接口。它定义了一个高层接口,让子系统更容易使用。这种模式常用于将一个复杂的子系统封装成一个简单的接口,使得客户端可以方…...
Postman的使用
Postman的使用 Postman断言Postman常用断言1、断言响应状态码2、断言包含某个字符串3、断言JSON数据4、Postman断言工作原理 Postman关联Postman自动关联创建环境 3、Postman参数化CSV文件JSON文件1、用例集的导入导出2、环境导出 Postman断言 让Postman工具代替人自动判断预期…...
QGIS008:QGIS拓扑检查、修改及验证
摘要:本文介绍使用QGIS拓扑检查器和几何图形检查器检查图层的拓扑错误,修改拓扑错误,并对修改后的图层进行错误验证。 实验数据: 链接:https://pan.baidu.com/s/1Vy2s-KYS-XJevqHNdavv9A?pwdf06o 提取码:…...
Metro性能监控终极指南:如何快速分析和优化React Native打包构建过程
Metro性能监控终极指南:如何快速分析和优化React Native打包构建过程 【免费下载链接】metro 🚇 The JavaScript bundler for React Native 项目地址: https://gitcode.com/gh_mirrors/me/metro Metro作为React Native的官方JavaScript打包工具&a…...
告别CTex!TeX Live+Texstudio组合安装避坑指南(Windows/Mac双平台)
告别CTex!TeX LiveTexstudio组合安装避坑指南(Windows/Mac双平台) 如果你曾经使用过CTex套装,可能会被其"开箱即用"的便利性所吸引。但当你需要跨平台协作或追求更灵活的定制时,TeX LiveTexstudio的组合无疑…...
GLM-4.1V-9B-Base部署教程:NVIDIA驱动版本兼容性验证与降级方案
GLM-4.1V-9B-Base部署教程:NVIDIA驱动版本兼容性验证与降级方案 1. 模型概述 GLM-4.1V-9B-Base是智谱开源的一款视觉多模态理解模型,专注于图像内容识别与分析任务。该模型具备以下核心能力: 图片内容描述与场景理解图像主体识别与定位颜色…...
XHS-Downloader:构建高效采集流程的无水印内容批量管理方案
XHS-Downloader:构建高效采集流程的无水印内容批量管理方案 【免费下载链接】XHS-Downloader 小红书(XiaoHongShu、RedNote)链接提取/作品采集工具:提取账号发布、收藏、点赞、专辑作品链接;提取搜索结果作品、用户链接…...
3天掌握MediaPipe:从零开始构建实时AI应用的终极指南
3天掌握MediaPipe:从零开始构建实时AI应用的终极指南 【免费下载链接】mediapipe Cross-platform, customizable ML solutions for live and streaming media. 项目地址: https://gitcode.com/GitHub_Trending/med/mediapipe 想快速上手实时AI应用开发却不知…...
5步清理60GB重复视频:Krokiet视频查重工具全攻略
5步清理60GB重复视频:Krokiet视频查重工具全攻略 【免费下载链接】czkawka 一款跨平台的重复文件查找工具,可用于清理硬盘中的重复文件、相似图片、零字节文件等。它以高效、易用为特点,帮助用户释放存储空间。 项目地址: https://gitcode.…...
【计算机网络工程论文】基于三层交换的局域网设计:连平中学教学楼VLAN划分与eNSP仿真应用
摘 要 随着连平中学发展和信息化平台的建设,面对庞大的信息数据和高要求的管理效率,网络的规划、管理、安全逐渐成为关键。对教学楼而言,规划一个高效、稳定、可扩展的局域网至关重要。 本文针对连平中学教学单位,鉴于其所有部门…...
Qwen2.5-14B-Instruct多轮记忆|像素剧本圣殿长剧本连贯性保障机制
Qwen2.5-14B-Instruct多轮记忆|像素剧本圣殿长剧本连贯性保障机制 1. 专业剧本创作的新范式 在创意写作领域,剧本创作一直面临着角色一致性、情节连贯性和风格统一性的挑战。传统创作工具往往只能提供片段式的辅助,而"像素剧本圣殿&qu…...
突破限速:8大网盘直链解析方案全解析
突破限速:8大网盘直链解析方案全解析 【免费下载链接】Online-disk-direct-link-download-assistant 可以获取网盘文件真实下载地址。基于【网盘直链下载助手】修改(改自6.1.4版本) ,自用,去推广,无需输入“…...
深入解析GNSS信号跟踪环路:从PLL/DLL原理到Python仿真实践
1. GNSS信号跟踪环路基础概念 当你用手机导航时,背后其实藏着一套精密的信号追踪系统。想象一下,头顶的GPS卫星就像演唱会上的歌手,而你的手机接收机则是要听清歌词的观众。但现实中存在两个主要干扰:一是你和歌手都在移动&#x…...
