linux -- centos -- cmake 留坑

安装Cmake

在Linux一个目录下:

bash 复制代码
touch poj.cpp
touch CMakeLists.txt

poj.cpp的内容:随便输出一点东西啦

CMakeLists.txt的内容:

bash 复制代码
cmake_minimum_required(VERSION 3.6)
project(Test)
add_executable(Test test.cpp)

cmake_minimum_required:cmake的版本
project:项目名
add_executable :生产的可执行文件名 源文件

然后执行:

bash 复制代码
cmake .

生产了一堆文件,包括Makefile。

然后:

bash 复制代码
make

生成可执行文件Test


插一个有关动态库和静态库知识


有多个源文件时,在add_executable中添加:

bash 复制代码
cmake_minimum_required(VERSION 3.6)
project(Test)
add_executable(Test test.cpp 1.cpp 2.cpp)

test.cpp:

cpp 复制代码
#include<iostream>
#include"3.h"
using namespace std;
int main()
{

        f1(),f2();
        cout<<"HHHHHHHHHHHHHHHHHHHHH"<<endl;
        return 0;
}

1.cpp

cpp 复制代码
#include<iostream>
#include"3.h"
using namespace std;
void  f1(){
        cout<<"f1"<<endl;
}

2.cpp

cpp 复制代码
#include<iostream>
#include"3.h"
using namespace std;
void  f2(){
        cout<<"f2"<<endl;
}

make then:

bash 复制代码
[root@Alma1 temp]# ./Test
f1
f2
HHHHHHHHHHHHHHHHHHHHH
[root@Alma1 temp]#
相关推荐
小樱花的樱花17 分钟前
Linux 多线程编程:互斥锁(Mutex)详解
linux·c语言·开发语言
麦兜和小可的舅舅20 分钟前
从原理到实战:Linux 系统性能诊断核心指标全解析及生产系统故障分析复盘
大数据·linux·运维
mounter6251 小时前
质检员与超能引擎的碰撞:KASAN 护航 eBPF JIT 的技术演进与安全抉择
linux·ebpf·linux kernel·kernel·kasan
风123456789~1 小时前
【Linux专栏】history常用命令
linux·运维·服务器
熬夜苦读学习1 小时前
基于websocket的多用户五子棋网页游戏
linux·服务器·网络·websocket·网络协议·游戏·五子棋
fpcc2 小时前
Linux 7.1介绍
linux·运维
三8442 小时前
磁盘管理/fdisk
linux·运维·服务器
库玛西3 小时前
深入剖析 Linux 线程机制与分页式存储管理
linux·服务器·c++·笔记
春卷同学3 小时前
HarmonyOS掌上记账APP开发实践第18篇:编译时优化与 ArkTS 语法限制 — 提升应用性能的编码规范
linux·运维·ubuntu
Dovis(誓平步青云)3 小时前
《 AI直连数据库落地实践:基于MCP协议打通开发工具与数据库全链路运维分析》
大数据·linux·运维·数据库·人工智能·架构