我写的makefile为毛没有生成.o文件?

baiqukqdp 2015-05-08 02:30:01
求高手指教。我是边看资料边模仿写的makefile,但是没有生成.o文件,是生成到其它目录去了还是没生成呢?

ifeq ($(release),1)

FLG := -O3

else

FLG := -g

endif

PRG := test.linux

REF :=

SRC := $(wildcard src/*.cpp)

OBJ := $(patsubst %.c,%.o,$(SRC))

CC := g++

INC := -I inc

LIB := -L lib

.PHONY: clean

$(PRG): $(OBJ)
$(CC) $(FLG) -lstdc++ -o $@ $^ $(INC) $(LIB) $(addprefix -l,$(REF))

%.o: %.c
$(CC) -c $< -o $@

clean:
rm $(PRG) -f
...全文
1286 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
baiqukqdp 2015-05-12
  • 打赏
  • 举报
回复
找到原因了,是 $(patsubst %.c,%.o,$(SRC))这句写错了,把里面的.c改成.cpp就好了,因为我的文件都是.cpp文件。
baiqukqdp 2015-05-12
  • 打赏
  • 举报
回复
tab是有的,复制过来的时候没有了而已。 编译能通过的,文件都生成了,而且也能运行,就是没有.o文件。前面的判断只是用来区分是编release还是debug版本。
一群人的拼搏 2015-05-08
  • 打赏
  • 举报
回复
1.试着注意一下这些地方: 对于命令语句,开头要使用Tab建。 2. $(CC) -o $@ -c $< 3. 伪代码的格式是否出错
赵4老师 2015-05-08
  • 打赏
  • 举报
回复
十有八九编译错误没生成。
此后三年 2015-05-08
  • 打赏
  • 举报
回复 1
为毛写这么复杂, 我看了半天,终究没有看出问题。

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧