没有找到相关库的Makefile

时间:2013-02-27 21:34:38

标签: c++ makefile

我正在开发一个项目并决定使用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)

有人可以帮我吗?

由于

2 个答案:

答案 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前缀。