Linux 多个cpp文件的编译(Makefile)

摘要:
CC=g++CFLAG=-Wall-O2TARGET=mainSRCS:=$(通配符*.cpp)OBJS:=$;Clean:表示第一个文件SRCS:

打包so文件:

CC = g++

CFLAGS=-Wall -O2 -fPIC

TARGET = libbg.so

SRCS := $(wildcard *.cpp) 

OBJS := $(patsubst %cpp, %o, $(SRCS)) 

all: $(TARGET) 

$(TARGET): $(OBJS) 

$(CC) $(CFLAGS) -shared -o $@ $^

%.o:%.cpp

$(CC) $(CFLAGS) -c $<

clean: 

rm -f *.o $(TARGET)

普通编译:

CC = g++

CFLAGS=-Wall -O2

TARGET = main

SRCS := $(wildcard *.cpp) 

OBJS := $(patsubst %cpp, %o, $(SRCS)) 

all: $(TARGET) 

$(TARGET): $(OBJS) 

$(CC) $(CFLAGS) -o $@ $^

%.o:%.cpp

$(CC) $(CFLAGS) -c $<

clean: 

rm -f *.o $(TARGET)

其中

$@  表示目标文件

$^ 表示所有依赖项

$< 表示第一个文件

SRCS := $(wildcard *.cpp) 表示获取当前目录下的c文件集,放在变量SRCS中

OBJS := $(patsubst %cpp, %o, $(SRCS)) 表示将对应的c文件名转为o文件后放在下面的OBJS变量中

免责声明:文章转载自《Linux 多个cpp文件的编译(Makefile)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇接口测试——流量录制回放Kotlin:数组、字符串模板下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux文件系统

一、什么是文件系统 操作系统中用于管理和组织磁盘设备上文件的方法和数据结构叫做文件系统. 1.1 根文件系统(rootfs): 在Linux中, 文件系统和倒树形结构一样, 位于最顶层的的一个分区我们称之为根(root), 用于安装linux系统, 类似于Windos的系统盘; 根分区又叫做根文件系统(root filesystem). 根文件系统由内核...

Linux-软件包管理-rpm命令管理-校验、文件提取

rpm -V httpd 查看已安装的apache包中文件信息是否已经被人修改 rpm -ql httpd 查看已安装的apache包中文件的位置 vim /etc/httpd/conf/httpd.conf 编辑修改apache包的配置文件httpd.conf 在命令模式下输入"402G",跳转到402行 在命令模式下输入"A",然后在插入...

ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致”

"将页面显示的GridView中的数据,导出到Excel表格中"时遇到这样一个错误: C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致。具体提示如图:   解决办法:这里采用"修改注册表的方法"解决此问题,这并没从根上解决问题: 1、打开注册表编辑器方法:开始 -> 运行 -> 输入regedit -> 确定 2、找...

利用iis虚拟目录实现文件服务器功能

要求说明:   通过网站上传文件保存到统一的文件服务器上。   服务器说明:     1.文件服务器以下称为FilesServer,IP地址为:192.168.1.213    2.Web服务器为以下称为WebServer,IP地址为:192.168.1.214 详细步骤:   (1)在FilesServer和WebServer上分别新建一个新用户,要求这...

Ubuntu 安装和卸载sublime

安装过程 输入以下命令安装:sudo add-apt-repository ppa:webupd8team/sublime-text-3sudo apt-get updatesudo apt-get install sublime-text-installer卸载过程完全卸载命令//sudo dpkg -r sublime-text(如果这条命令不能卸载则...

FFmpeg命令集锦

一、FFmpeg命令集举例 1. 视频格式转换(其实格式转换说法不太准确,但大家都这么叫,准确的说,应该是视频容器转换) 比如一个avi文件,想转为mp4,或者一个mp4想转为ts。 我目测这个已经能满足很多人的需求了。 ffmpeg -i input.avi output.mp4 ffmpeg -i input.mp4 output.ts 2.获取视频...