linux下编译动态及静态库
来源:互联网 发布:彻底卸载kingroot软件 编辑:程序博客网 时间:2024/05/01 21:25
写一个简单的C程序
test.h
#ifndef _TEST_H_
#define _TEST_H_
#include <stdio.h>
void func1();
void func2();
#endif
test.c
#include "test.h"
void func1(){
printf("Haha,Func1!\n");
}
void func2(){
printf("Haha,Func2!\n");
}
/*
void main(){
func1();
func2();
return ;
}*/
书写Makefile
GC=gcc
LD=ld
AR=ar
RM=rm -f
CFLAGS=-c
OBJ=test.o
TARGET_STD=libtest.a
TARFET_DLL=libtest.so
TARGET=test
%o:%c
$(GC) $(CFLAGS) $^ -o $(OBJ)#生存.o目标
$(RM) $(TARGET_STD) $(TARGET_DLL) $(TARGET)#清空之前生成目标文件
#test:$(TARGET)
#$(TARGET):$(OBJ)
# $(GC) -o $(TARGET) $(OBJ)#生成可执行目标
build:$(TARGET_STD)
$(TARGET_STD):$(OBJ)
$(AR) -r $(TARGET_STD) $(OBJ)#生成静态库
dll:$(TARFET_DLL)
$(TARFET_DLL):$(OBJ)
$(LD) -shared -o $(TARFET_DLL) $(OBJ)#生成动态库
clean:
$(RM) $(OBJ) $(TARGET_STD) $(TARGET_DLL) $(TARGET)#清空生成文件
执行make或make test生成test可执行文件
执行make build生成静态库
执行make dll生成动态库
执行make clean清空
2使用库文件
编写文件main.c
#include "./Test/test.h"//调用头文件,可以不加
void main(){
func1();
func2();
return ;
}
书写makefile
使用静态库
GC=gcc
main.o:main.c
$(GC) -o main.o -c main.c -I./Test -L./Test -ltest -static #libtest.a放在路径下
#加上-c生成的是中间文件
build:main
main:main.o
$(GC) -o main main.o -I./Test -L./Test -ltest -static
#由中间文件生成目标文件 ,-I可以不带,调试也没问题
clean:
rm -r main.o main
使用动态库,首先将libtest.so拷贝至/usr/lib -L./Test---->-L.仍需指明lib路径
gcc -o main main.c -L./Test -ltest
*gcc -o ... -c ...加上-c生成目标文件为中间文件
- linux下编译动态及静态库
- linux下静态库、动态库编译及makefile书写
- linux下gcc编译生成静态及动态库
- linux下动态库静态库编译
- Linux下编译静态、动态库
- Linux下动态库及静态库
- Linux下编译动态库及使用
- linux静态库和动态库编译及使用
- linux静态库和动态库编译及使用
- linux静态库和动态库编译及使用
- linux下的静态库和动态库的编译
- linux操作系统下编译静态库与动态库
- linux下静态库、动态库的编译和使用
- linux下静态库、动态库的编译和使用
- linux下的静态库和动态库的编译
- Linux下编译动态库,静态库,以及调用
- linux下的静态库和动态库的编译
- Linux下动态库、静态库的编译小记
- Frameset框架优缺点 转自新浪博客
- Spring 3.0 中bean.xml文件的配置问题
- 黑马程序员-关于GUI图形用户界面的总结
- 关于Myspace 蠕虫攻击的代码分析
- Oracle数据库产生Guid
- linux下编译动态及静态库
- jQuery验证控件jquery.validate.js使用说明+中文API
- 新一代视频压缩技术 H.265 解析
- MySQL分区表
- ios的post提交
- android 的 c层 实现 音乐播放与音量调节
- AbsListView.LayoutParams
- qq微信电脑客户端 for mac v1.0.0.6 官方版
- 浏览器窗口缩小,水平滚动条自动显示出来