ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

交叉编译一个静态库

2021-11-18 23:33:01  阅读:159  来源: 互联网

标签:%. TARGET 交叉 静态 编译 CFLAGS linux CPP arm


#第一步选择编译链,创建一个目录将源文件放到里面,作为编译目录

CC = arm-hismall-linux-gcc

CPP = arm-hismall-linux-g++

AR = arm-hismall-linux-ar

#这里是生成的库名字 TARGET = libxxx.a

SOURCES = $(wildcard *.cpp) $(wildcard *.c)

OBJS = $(patsubst %.cpp,%.o, $(SOURCES)) $(patsubst %.c,%.o, $(SOURaCES))

#第二部创建一个inc目录,将需要的开源库头文件放到里面

INCLUDE = -I./inc \

       -I./

#第三步创建一个lib目录,将需要的开源库放到里面

LIB_PATH = -L lib/

 

#第四步,将需要链接的开源库放在这个变量后面

LIBS = -lpthread -lc

CFLAGS = -Wall CFLAGS += $(INCLUDE) $(LIB_PATH)

all : $(TARGET)

$(TARGET) : $(OBJS)

   $(AR) -r $(TARGET) $^

.c.o:

   $(CPP) $(CFLAGS) -c -o $@ $< $(LIBS)

.cpp.o:

   $(CPP) $(CFLAGS) -c -o $@ $< $(LIBS)

 

.PHONY = clean

clean :

   rm -rf *.o $(TARGET)

标签:%.,TARGET,交叉,静态,编译,CFLAGS,linux,CPP,arm
来源: https://www.cnblogs.com/cdy0626/p/15575104.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有