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

(3) cmake编译多个cpp文件

文章目录

    • 概要
    • 整体代码
    • 运行结果

概要

上一节中实现了对单个cpp文件用cmake编译。这一节升级一下

整体代码

main.cpp

#include <iostream>
#include "person.h"using namespace std;int main()
{person me = person("langdaoliu", 28, "engineer");me.printInfo();return 0;
}

person.cpp

#include "person.h"person::person(){cout<<"new person"<<endl;
}
person::person (string name, int age, string work) {this->age = age;this->name = name;this->work = work;
}
void person::printInfo(){printf("name: %s age: %d work: %s\n",this->name.c_str(), this->age, this->work.c_str());
}

person.h

#pragma once
#include <iostream>
using namespace std;class person{private:string name;int age;string work;public:person();person(string name, int age, string work);void printInfo();
};

CMakeLists.txt

cmake_minimum_required(VERSION 2.6) # cmake最低版本
project(demo1) #项目名称
set(CMAKE_CXX_STANDARD 11) #设置C++编译版本
set(CMAKE_BUILD_TYPE "Debug") # 默认是Release模式,设置为Debug才能调试set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin) #设置可执行文件生产的路径aux_source_directory(. SRC_LISTS) #.下所有的cpp文件打包到变量SRC_LISTS中
add_executable(demo ${SRC_LISTS}) #生成可执行文件demo

运行结果

在这里插入图片描述
在这里插入图片描述

相关文章:

  • [AI aider] 打造终端AI搭档:Aider让编程更智能更有趣!
  • WPF 一个执行耗时任务,页面更新等待时间的例子
  • 【计算机毕业设计】211校园约拍微信小程序
  • Vue跨标签页数据通信
  • 广告变现小游戏对接广告流量变现平台开发 源码搭建
  • Vue在表单校验中trigger属性指定何时触发校验规则
  • 路由框架 ARouter 原理及源码解析
  • Linux-目录和文件
  • Blazor的SSR服务端渲染是不是交互式的
  • 数据结构:3.3.4遍历应用例子
  • 达索系统基于模型的系统工程:开启创新与高效的新时代
  • Golang | Leetcode Golang题解之第145题二叉树的后序遍历
  • vmware workstation下centos7屏幕切换及大小调整
  • 计算机专业毕设-在线商城系统
  • 【源码】2024最新陪诊小程序uniapp+thinkphp
  • angular组件开发
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • HTTP中GET与POST的区别 99%的错误认识
  • java 多线程基础, 我觉得还是有必要看看的
  • Javascript弹出层-初探
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • MySQL用户中的%到底包不包括localhost?
  • PHP面试之三:MySQL数据库
  • springboot_database项目介绍
  • vagrant 添加本地 box 安装 laravel homestead
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • 彻底搞懂浏览器Event-loop
  • 机器学习学习笔记一
  • 如何在 Tornado 中实现 Middleware
  • 学习使用ExpressJS 4.0中的新Router
  • 阿里云ACE认证之理解CDN技术
  • 整理一些计算机基础知识!
  • ​学习一下,什么是预包装食品?​
  • ###STL(标准模板库)
  • #pragma data_seg 共享数据区(转)
  • ( 10 )MySQL中的外键
  • (二)windows配置JDK环境
  • (仿QQ聊天消息列表加载)wp7 listbox 列表项逐一加载的一种实现方式,以及加入渐显动画...
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (含笔试题)深度解析数据在内存中的存储
  • (四)软件性能测试
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)shell调试方法
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • **PHP二维数组遍历时同时赋值
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .Net 执行Linux下多行shell命令方法
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NET中 MVC 工厂模式浅析
  • //解决validator验证插件多个name相同只验证第一的问题
  • /bin、/sbin、/usr/bin、/usr/sbin
  • [ 蓝桥杯Web真题 ]-布局切换