gcc指定某些库静态编译的方法,可以避免不必要的C++库的依赖

CROSS :=$(TOOLPREFIX)

CC := $(CROSS)gcc
CXX := $(CROSS)g++
STRIP := $(CROSS)strip
BIN = display

OBJS = main.o PlayList.o TimeSection.o ChipImage.o DisplayItem.o FramePic.o
CXXFLAGS = -Wall -g -Itinyxml
LDFLAGS = -static-libgcc -L. ./libstdc++.a libm.a
LIBS +=  tinyxml/libtinyxml.a

all:display

%.o:%.cpp
 $(CC) $(INCPATH) $(CXXFLAGS) -c $<
 
$(BIN):$(OBJS) libtinyxml
 ln -sf `$(CXX) -print-file-name=libm.a`
 ln -sf `$(CXX) -print-file-name=libstdc++.a`
 $(CXX)  -o $@ $(OBJS) $(LDFLAGS) $(LIBS)
 $(STRIP) $(BIN)

libtinyxml:
 make -C tinyxml

clean:
 $(RM) $(BIN) *.o
 make -C tinyxml clean 

 

 

你可能感兴趣的:(gcc指定某些库静态编译的方法,可以避免不必要的C++库的依赖)