提供了以下makefile:

CXX=g++
CXXFLAGS=-std=c++11 -g -O2
LDFLAGS=-ltbb

EXE=$(basename $(wildcard *.cc))

all: $(EXE)

clean:
    rm -fr $(EXE) *.dSYM


我是makefile的新手,为了使其在Ubuntu中工作,我需要对其进行修改,以使LDFLAGS在compile命令中位于源文件之后。我怎样才能做到这一点?我的尝试如下:

CXX=g++
CXXFLAGS=-std=c++11 -g -O2
LDFLAGS=-ltbb

SRCS=$(wildcard *.cc)
EXES=$(subst .cc,,$(SRCS))

all: $(EXES)
    $(CXX) $(CXXFLAGS) $(SRCS) $(LDFLAGS) -o $(EXES)

clean:
    rm -fr $(EXE) *.dSYM

最佳答案

应该将库而不是LDFLAGS添加到LDLIBS。在原始makefile中尝试以下操作:

LDLIBS=-ltbb


请参见here以供参考。

关于c++ - 如何编写在源代码后添加库的makefile,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32449452/

10-09 13:44