在自动编译目标文件时,如何让Makefile使用我的CFLAGS标志?

时间:2017-06-26 19:29:40

标签: c++ makefile

我为这个游戏制作了一个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 ../

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

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

1 个答案:

答案 0 :(得分:0)

指定如何生成.o文件:

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

正如@juanchopanza所提到的,你应该使用CXXCXXFLAGS