我正在开发一个项目并决定使用Boost的正则表达式类。所以我只编译了正则表达式类并将libboost_regex.a移动到我的项目目录中的子文件夹正则表达式。如何将此文件链接起来?
我有以下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)
有人可以帮我吗?
由于
答案 0 :(得分:1)
您案例中最简单的方法可能就是:
LIBS=-L./regex -lboost_regex
或
LIBS=./regex/libboost_regex.a
答案 1 :(得分:1)
这两行:
CFLAGS= -L ./regex
LIBS=-llibboost_regex
应该是:
LDFLAGS= -L./regex
LIBS= -lboost_regex
LDFLAGS
用于链接器,库不需要lib
前缀。