1

我正在做一个项目,并决定使用 Boost 的正则表达式类。所以我只编译了 regex 类并将 libboost_regex.a 移动到我的项目目录中的子文件夹 regex 中。我怎样才能得到这个文件链接?

我有以下生成文件:

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)

有人可以帮我吗?

谢谢

4

2 回答 2

1

在您的情况下,最简单的方法可能只是:

LIBS=-L./regex -lboost_regex

或者

LIBS=./regex/libboost_regex.a
于 2013-02-27T21:35:51.347 回答
1

这两行:

CFLAGS= -L ./regex
LIBS=-llibboost_regex

应该:

LDFLAGS= -L./regex
LIBS= -lboost_regex

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

于 2013-02-27T21:45:00.307 回答