当前位置: 首页 > news >正文

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,像前文删除多余的;

 

    看一下都有了;但是这次不知道为什么自己的两个头文件是在外部依赖项中,之前是单独有一个头文件的文件夹;从效果来说是一样的;

运行一下;自己的四个文件都包含进来了;结果如下;

 

相关文章:

  • CentOS 使用线程库Pthread 库
  • 【算法】滑动窗口题单——3.不定长滑动窗口(求最短/最小)⭐ 删除最短的子数组使剩余数组有序
  • unity button移动位置some values driven by canvas
  • Qt篇——子控件QLayoutItem与实际控件的强转
  • 网络通信 | 内网穿透
  • 2023年Flutter教程_Flutter+Getx仿小米商城项目实战视频教程-V3版
  • Flutter extended_image库设置内存缓存区大小与缓存图片数
  • 深入理解NLP
  • 基于单片机的空气质量检测系统
  • 接口测试 —— Requests库GET请求!
  • order by数据过多引起的cpu飙升
  • Web:探索 SpreadJS强大的在线电子表格库
  • 云原生之深入解析如何合并多个kubeconfig文件
  • Linux下protobuf和 protobuf-c安装使用
  • IP地址与代理ip在网络安全中的关键作用
  • 0基础学习移动端适配
  • angular组件开发
  • Gradle 5.0 正式版发布
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • JS字符串转数字方法总结
  • MySQL QA
  • mysql常用命令汇总
  • Python连接Oracle
  • Rancher如何对接Ceph-RBD块存储
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • V4L2视频输入框架概述
  • 记一次删除Git记录中的大文件的过程
  • 力扣(LeetCode)357
  • 那些被忽略的 JavaScript 数组方法细节
  • 网页视频流m3u8/ts视频下载
  • 新书推荐|Windows黑客编程技术详解
  • 用简单代码看卷积组块发展
  • 白色的风信子
  • MyCAT水平分库
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ![CDATA[ ]] 是什么东东
  • # 透过事物看本质的能力怎么培养?
  • #define
  • #Linux(make工具和makefile文件以及makefile语法)
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (接口封装)
  • (一)插入排序
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转)重识new
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET Project Open Day(2011.11.13)
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .NET和.COM和.CN域名区别
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?
  • [Android]创建TabBar
  • [Bzoj4722]由乃(线段树好题)(倍增处理模数小快速幂)