没有找到相关库的生成文件

Makefile with relative library not being found

本文关键字:文件      更新时间:2023-10-16

我正在做一个项目,决定使用Boost的正则表达式类。因此,我只编译了regex类并移动了libboost_regex。A到子文件夹regex在我的项目目录。我怎样才能把这个文件链接起来?

我有以下makefile:

rm=/bin/rm -f
CC= clang++
PROGNAME= story
CFLAGS= -L ./regex
LIBS=-llibboost_regex
SRCS = main.cpp  Environment.cpp 
OBJS = main.o Environment.o 
.cpp.o:
    $(rm) $@
    $(CC) $(CFLAGS) -c $*.cpp -o $*.o
all: $(PROGNAME)
$(PROGNAME) : $(OBJS)
    $(CC) $(CFLAGS) -o $(PROGNAME) $(OBJS) $(LIBS)
有谁能帮我一下吗?

谢谢

这两行:

CFLAGS= -L ./regex
LIBS=-llibboost_regex
应:

LDFLAGS= -L./regex
LIBS= -lboost_regex

LDFLAGS用于链接器,lib前缀不需要用于库。

最简单的方法可能是:

LIBS=-L./regex -lboost_regex

LIBS=./regex/libboost_regex.a