我为这个游戏制作了一个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
,我需要做什么?
答案 0 :(得分:0)
指定如何生成.o文件:
%.o: %.c
$(CC) $(CFLAGS) -c $< -o $@
正如@juanchopanza所提到的,你应该使用CXX
和CXXFLAGS
。