我遇到了一些麻烦,因为我对C ++和Makefiles相当陌生
我的Makefile看起来像这样:
EXENAME = testimage
OBJS = rgbapixel.o png.o image.o testimage.o
CXX = clang++
CXXFLAGS = -std=c++1y -stdlib=libc++ -lc++abi -std=c++0x -std=c++11 -std=gnu++11 -c -g -O0 -Wall -Werror -Wextra -pedantic
LD = clang++
LDFLAGS = -std=c++1y -stdlib=libc++ -std=c++11 -std=gnu++11 -lpng -lc++abi
all: $(EXENAME)
$(EXENAME) : $(OBJS)
$(LD) $(OBJS) $(LDFLAGS) -o $(EXENAME)
png.o : png.cpp png.h rgbapixel.h image.h
$(CXX) $(CXXFLAGS) png.cpp
image.o : image.cpp image.h png.h rgbapixel.h
$(CXX) $(CXXFLAGS) c++ image.cpp
rgbapixel.o : rgbapixel.cpp rgbapixel.h
$(CXX) $(CXXFLAGS) rgbapixel.cpp
testimage.cpp : image.h png.h rgbapixel.h png.o
$(CXX) $(CXXFLAGS) c++ testimage.cpp -o testimage
clean :
-rm -f *.o $(EXENAME)
我将此作为来自终端的反馈:
clang++ -std=c++1y -stdlib=libc++ -lc++abi -std=c++0x -std=c++11 -std=gnu++11 -c -g -O0 -Wall -Werror -Wextra -pedantic rgbapixel.cpp
clang: error: -lc++abi: 'linker' input unused
Makefile:21: recipe for target 'rgbapixel.o' failed
make: *** [rgbapixel.o] Error 1
有人能指出我正确的方向,因为我做错了吗?提前谢谢。
答案 0 :(得分:0)
-lc++abi
中删除 CXXFLAGS