为什么编译后没有.o

Why is there no .o after compiling?

本文关键字:编译 为什么      更新时间:2023-10-16
每次

更改代码后,我都必须编译整个程序,因为没有保存.o文件,makefile有什么问题?

CXX=g++
CXXFLAGS=-W -Wall -ansi -pedantic
LDFLAGS=
EXEC=test
SRC= $(wildcard *.cpp)
OBJ= $(SRC:.c=.o)
all: $(EXEC)
    @echo "$(CYAN)ntProgram successfully compiled!na$(BLACK)"
$(EXEC): $(OBJ)
    $(CXX) -o $@ $^ $(LDFLAGS)
%.o: %.cpp
    $(CXX) -o $@ -c $< $(CXXFLAGS)

谢谢约翰想通了!

问题是这一行:

OBJ= $(SRC:.c=.o(

它必须是这样的:

OBJ= $(SRC:.cpp=.o(

确实,我从makefile中复制了结构来编译C程序,所以我必须修改源文件的扩展名!

相关文章: