生成文件问题,获取"目标'rgbapixel.o'的配方失败"

Makefile trouble, getting "recipe for target 'rgbapixel.o' failed"

本文关键字:方失败 失败 rgbapixel 问题 获取 目标 文件      更新时间:2023-10-16

我遇到了一些麻烦,因为我对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

有人能为我做错的事情指明正确的方向吗?提前谢谢。

-lc++abi应从CXXFLAGS 中删除