编译动态库和静态库的Makefile模板
来源:互联网 发布:心动网络 笔试题目 编辑:程序博客网 时间:2024/05/21 17:07
参考:linux编译动态库和静态库的makefile示例
# 1、准备工作,编译方式、目标文件名、依赖库路径的定义。CC = gccCFLAGS := -w -g -WallLIB = libltkc.so HDRS = \ version.inc \ ltkc.h \ ltkc_base.h \ ltkc_connection.h \ ltkc_frame.h \ ltkc_platform.h \ ltkc_xmltext.h \OBJS = \ ltkc_array.o \ ltkc_connection.o \ ltkc_element.o \ ltkc_encdec.o \ ltkc_error.o \ ltkc_framedecode.o \ ltkc_frameencode.o \ ltkc_frameextract.o \ ltkc_hdrfd.o \ ltkc_xmltextencode.o \ ltkc_xmltextdecode.o \ ltkc_typeregistry.o \INC= -I /usr/include/libxml2# 依赖的lib名称# DEPEND_ON_LIB = -lxmlllrp -lxml2DEPEND_ON_LIB = -lxml2all : $(LIB)# 2. 生成.o文件 %.o:%.c $(CC) $(CFLAGS) -c $< -o $@ $(INC) $(DEPEND_ON_LIB) @echo "-----"# 3. 生成动态库文件$(LIB):$(OBJS) $(CC) $(CFLAGS) -shared -o $@ $(OBJS)# 4. 删除中间过程生成的文件 clean: rm -f $(OBJS) $(TARGET) $(LIB)
测试动态库
1、在测试过程中,经常会报错:找不到.so文件。一种简单的解决方法如下:
cannot open shared object file: No such file or directory
在linux终端输入如下命令:
export LD_LIBRARY_PATH=/home/shaoxiaohu/lib:LD_LIBRARY_PATH:
更多解决方法可参考:Linux下gcc编译生成动态链接库*.so文件并调用它的第4部分。
参考:
1]:3种方法加载到系统动态库
2]: Linux下gcc编译生成动态链接库*.so文件并调用它的第4部分
阅读全文
0 0
- 编译动态库和静态库的Makefile模板
- Linux 动态和静态库(.so & .a)的Makefile模板
- makefile编译静态库和动态库
- makefile编译静态库和动态库
- 编译静态库和动态库的Makefile文件
- 编译静态库和动态库的Makefile文件
- 编译静态库和动态库的Makefile文件
- linux编译动态库和静态库的makefile示例
- linux编译动态库和静态库的makefile示例
- 编译动态库,静态库makefile简单模板
- Makefile 编译动态链接库和静态链接库
- 嵌入式 makefile编译静态库和动态库(
- gcc链接g++编译生成的静态库和动态库的makefile示例
- makefile 编写,编译动态库,编译静态库
- GCC 编译动态链接库和静态链接库 + 大型工程Makefile编写 + Linux环境变量的设置和查看方法
- 通用的makefile,制作动态库和静态库
- 静态库动态库和makefile
- makefile模板(可执行文件,动态库,静态库)
- 几种硬盘接口标准
- Android中shape的使用
- android时间戳转换成日期(与php后台),日期转换成时间戳小问题记录
- LintCode:M-带环链表
- 【Java学习笔记】36:泛型的类型变量的限定
- 编译动态库和静态库的Makefile模板
- 平衡二叉树的实现代码加详细注释
- opencv:批量读取一个文件夹下的图片,并转换成视频
- 倒计时
- Save and Load Your Keras Deep Learning Models
- webview中的img标签加载Android本地的图片
- 30岁后还能入IT行业吗?
- HTML5 canvas粒子烟花绽放动画
- Heibernate三种状态