当前位置: 首页 > 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,像前文删除多余的;

 

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

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

 

http://www.lryc.cn/news/208748.html

相关文章:

  • Mybatis中延迟加载~
  • 【C语言】memmove()函数(拷贝重叠内存块函数详解)
  • 04-流媒体-ffmpeg.c源码分析
  • 迭代器 Iterator
  • 掌握CSS Flexbox,打造完美响应式布局,适配各种设备!
  • FlutterUnit 周边 | 收录排序算法可视化
  • 代码随想录Day30 贪心05 LeetCode T435无重叠区间 T763划分字母区间 T56 合并区间
  • 发展高质量存储力,中国高科技力量聚浪成潮
  • 修改svc的LoadBalancer的IP引发的惨案
  • 2520. 统计能整除数字的位数
  • BeanUtils.copyProperties的用法
  • 【RabbitMQ 实战】12 镜像队列
  • PyCharm社区版安装
  • 【LeetCode每日一题合集】2023.10.16-2023.10.22(只出现一次的数字Ⅲ)
  • 尚硅谷大数据项目《在线教育之实时数仓》笔记003
  • 【Linux】部署单体项目以及前后端分离项目(项目部署)
  • 设计模式之门面模式
  • Postman的使用
  • QGIS008:QGIS拓扑检查、修改及验证
  • 安装DBD-Oracle报错处理
  • 【机器学习】KNN算法-鸢尾花种类预测
  • LuatOS-SOC接口文档(air780E)--lora - lora驱动模块
  • Compose 自定义 - 绘制 Draw
  • c#学习相关系列之构造函数
  • CS224W1.3——图表示的选择
  • rust学习——插件rust-analyzer安装与配置
  • Spring Boot简介
  • Linux下protobuf和 protobuf-c安装使用
  • FastAPI 快速学习之 Flask 框架对比
  • Spring Boot和XXL-Job:高效定时任务管理