上篇文章说了如何生成静态库文件:http://blog.youkuaiyun.com/lanmanck/archive/2009/10/12/4659161.aspx
这里也有篇文章说的很好:http://wickyl.javaeye.com/blog/137460
这里提一下使用方法:
下面的例子中,库文件位于一个文件夹libxxx,而测试文件main.c和文件夹在同一个目录。
Makefile如下:
CFLAGS :=
CC := arm-linux-gcc
CSRCS := main.c
COBJS := main.o
INCDIR := -I/home/arm/linux-2.6.24.7/include -I./libxxx
LDFLAGS := ./libxxx/libxxx.a
TARGET := libxxx_test
all:
$(CC) $(CSRCS) $(LDFLAGS) -o $(TARGET) $(INCDIR)
@cp -rf $(TARGET) /root/Desktop/
clean:
rm -rf *.o $(TARGET)
要注意的是,链接过程顺序不可颠倒,而且好像不用-L来进行链接,直接输入库名称即可。
类似:gcc main.c libxxx.a -o libtest.exe -I./libxxx
不是很清楚-L的作用,知道的朋友请指教。
本文介绍了一个简单的静态库链接示例,通过Makefile配置文件详细展示了如何将一个名为libxxx的静态库与main.c源文件进行链接,以创建一个可执行程序。文章提供了具体的Makefile配置代码,并解释了关键步骤。
729

被折叠的 条评论
为什么被折叠?



