c++ - 未找到相关库的 Makefile

标签 c++ makefile

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

谁能帮我解决这个问题?

谢谢

最佳答案

这两行:

CFLAGS= -L ./regex
LIBS=-llibboost_regex

应该是:

LDFLAGS= -L./regex
LIBS= -lboost_regex

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

关于c++ - 未找到相关库的 Makefile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15122873/

相关文章:

c++ - 有没有办法让这段代码更快?

c++ - 从其他模块调用基类构造函数

c++ - 第 16 行 : $'\r' : command not found ( pscan2. c)

c++ - 如何在 makefile 的同一列中打印 {done}

c - 在可执行二进制文件中嵌入修订号

c++ - gdb 步骤没有按预期工作

c++ - 如何在 C++ 中使用哈希在同一个键下存储多个值

build-automation - 有希望的替代方案吗?

c - 如何在编译内核模块时使用标志

performance - MinGW "make"启动速度非常慢