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]#
相关推荐
程序员黄老师25 分钟前
Ubuntu 24.04上安装 Intelligent Pinyin 中文输入法
linux·运维·ubuntu
HONG_YANG38 分钟前
ERPNext 介绍、安装和维护建议
linux
HONG_YANG39 分钟前
ERPNext 搭建教程:Linux 一键部署与维护
linux
晨岳1 小时前
CentOS 安装 JDK+ NGINX+ Tomcat + Redis + MySQL搭建项目环境
java·redis·mysql·nginx·centos·tomcat
Enti7c1 小时前
什么是void,什么时候使用void类型?never和void的区别
linux·运维·ubuntu
scilwb2 小时前
基于Isaac Sim场景的Coverage Path Planning 项目部署完整指南
linux
知北游天3 小时前
Linux:多线程---同步&&生产者消费者模型
java·linux·网络
kfepiza3 小时前
`nmcli con add type vlan`中的: `ifname` , `dev` ,`vlan.parent`, `id`,`vlan.id`
linux·网络协议·tcp/ip
kfepiza4 小时前
Linux的NetworkManager的`nmcli connection add` 笔记250712
linux·网络协议·tcp/ip
kfepiza4 小时前
Linux的NetworkManager的`nmcli con add type vlan`中, `iframe` 和 `dev` 的区别 笔记250712
linux·tcp/ip