gpt4 book ai didi

c - 如何在makefile中包含静态库

转载 作者:IT王子 更新时间:2023-10-29 00:13:50 26 4
gpt4 key购买 nike

我有以下生成文件

CXXFILES = pthreads.cpp 

CXXFLAGS = -O3 -o prog -rdynamic -D_GNU_SOURCE -L./libmine
LIBS = -lpthread -ldl

all:
$(CXX) $(CXXFILES) $(LIBS) $(CXXFLAGS)

clean:
rm -f prog *.o

我正在尝试将 ./libmine 库包含在 CXXFLAGS 中,但它似乎不是包含静态库的正确方法,因为当我编译时该程序,我收到许多 undefined reference 错误。那么在 makefile 中包含静态库的正确方法是什么?

最佳答案

使用

LDFLAGS= -L<Directory where the library resides> -l<library name>

喜欢:

LDFLAGS = -L. -lmine

为了确保静态编译你还可以添加

LDFLAGS = -static

或者你可以去掉整个库搜索,直接链接。

假设您有 main.cfun.c 和一个静态库 libmine.a。然后你可以在 Makefile 的最后一个链接行中做

$(CC) $(CFLAGS) main.o fun.o libmine.a

关于c - 如何在makefile中包含静态库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11344965/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com