2015-09-08 103 views
0

我一直在下面的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在編譯命令中的源文件之後。我怎樣才能做到這一點?我的嘗試如下:

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 

回答

1

庫應該添加到LDLIBS而不是LDFLAGS。在原始的makefile試試這個:

LDLIBS=-ltbb 

參考見here

+0

嗯,工作!感謝您的解決方案和有用的參考。 – d3pd