用makefile编译生成.a文件(linux静态库),并编译进可执行文件中
来源:互联网 发布:windows软件包下载 编辑:程序博客网 时间:2024/06/05 20:39
文件列表:
代码文件
/* 下列代码保存到 plus.cpp */int my_plus(int x,int y) { return x + y; }
/* 下列代码保存到 minus.cpp */int my_minus(int x,int y) { return x - y; }
/* 下列代码保存到 my_math.h */int my_plus(int x,int y); int my_minus(int x,int y);
/* 下列代码保存到 lib_test.cpp */#include"my_math.h" #include<stdio.h> int main() { printf("[my_plus ] = %d\n",my_plus(3,5)); printf("[my_minus] = %d\n",my_minus(3,5)); return 0;}
makefile文件
/* 下面内容保存到 lib.mak */SHELL = /bin/sh CC = g++AR = ar CFLAG = -O2 -W -Wall INCLUDE_PATH = -I. LIB_TARGET = ./libmath.a PLUS_OBJ = plus.o PLUS_SRC = ./plus.cpp MIN_OBJ = minus.o MIN_SRC = ./minus.cppall : $(LIB_TARGET) $(PLUS_OBJ): $(PLUS_SRC) $(CC) $(CFLAG) $(INCLUDE_PATH) -c $(PLUS_SRC) $(MIN_OBJ): $(MIN_SRC) $(CC) $(CFLAG) $(INCLUDE_PATH) -c $(MIN_SRC) $(LIB_TARGET) : $(PLUS_OBJ) $(MIN_OBJ) $(AR) cq $@ $^ rm -f $(PLUS_OBJ) rm -f $(MIN_OBJ)clean: rm -f $(PLUS_OBJ) rm -f $(LIB_TARGET)
/* 下面内容保存到 app.mak */SHELL = /bin/sh CC = g++ INCLUDE_PATH = -I. TEST_TARGET = ./test TEST_SRC = ./lib_test.cpp LDFLAGS := ./libmath.a all : $(CC) -g $(TEST_SRC) $(LDFLAGS) -o $(TEST_TARGET) $(INCLUDE_PATH) clean: rm -f $(TEST_TARGET)
编译连接
编译生成静态库:
在linux终端使用命令:
make -flib.mak
效果如下图
编译生成可执行文件
使用命令:
make -fapp.mak
效果如下图
运行:
0 0
- 用makefile编译生成.a文件(linux静态库),并编译进可执行文件中
- makefile学习经验(二)----编译生成静态库文件
- makefile学习经验(二)----编译生成静态库文件
- 静态编译,生成server_arm可执行文件
- makefile学习——编译生成静态库文件
- 编译linux中可执行文件的脚本文件
- 用gcc编译生成静态库*.a
- 生成可执行文件显示编译过程通用Makefile
- VS2010静态编译生成.exe可执行文件
- VS2010静态编译生成.exe可执行文件
- VS2010静态编译生成.exe可执行文件
- VS2010静态编译生成exe可执行文件
- VS2013静态编译生成.exe可执行文件
- 编译生成静态库文件
- 编译生成静态库文件
- 如何编译生成.exe可执行文件,并保存
- 编译多路径/目录源代码并生成多个可执行文件的makefile实例
- makefile 编译可执行文件
- hdu(5402)——Travelling Salesman Problem(模拟题)
- common.io中Tailer类读取文件内容乱码问题解决
- Android基础入门教程——2.3.8 SeekBar(拖动条)
- Spring Cache 使用
- JAVA--Runtime类研究
- 用makefile编译生成.a文件(linux静态库),并编译进可执行文件中
- Linux运行脚本作为守护进程的各种方法
- Android设计模式系列-单例模式
- 工具的使用问题解决(eclipse)
- 创建线程的两种常用方法
- C语言数组和指针的区别
- [数据库] 关系型数据库与NoSql
- iOS开发 -- 事件处理(触摸,晃动)
- jQuery-Validate表单验证中文API