当自动编译对象文件时,如何使我的makefile使用我的cflags标志

How do I make my Makefile use my CFLAGS flags when automatically compiling object files?

本文关键字:我的 makefile 何使 标志 cflags 编译 对象 文件      更新时间:2023-10-16

我为我制作的游戏有一个makefile。看起来像这样。

 CC = g++
 CFLAGS = -std=c++11 -w
 game: main.o item.o game.o player.o map.o room.o menu.o notebook.o enemy.o  
   $(CC) $(CFLAGS) -o game main.o item.o game.o player.o map.o room.o menu.o notebook.o enemy.o
   mv game ../

我正在使用 但是,在CFLAGS行中的-std=c++11行,但是,当我运行make时,我被告知我需要使用C 11,因为我在一个文件中使用了#include <random>行。我没有注意到编译直到此之前并不总是使用CFLAGS线。

为了使对象文件的自动编译使用CFLAGS我需要做什么?

指定如何生成.o文件:

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

作为@juanchopanza提到,您应该真正使用CXXCXXFLAGS