我用sdl修复了一个错误,但Quentin注意到了另一个问题。 (再次感谢您的通知。)
问题在于:
在控制台中没有记录任何可执行文件,我有一个错误,我必须使用#Is it in debug mode?
DEBUG=yes
SHELL='sh -x'
CC = G++
#OBJS specifies which files to compile as part of the project
OBJS = src/main.cpp
#OBJ_NAME specifies the name of the executable
OBJ_NAME = Game
INCLUDE_PATHS = -IC:/mingw_dev_lib/include/SDL2
LIBRARY_PATHS = -LC:/mingw_dev_lib/lib
COMPILER_FLAGS = -w -Wl,-subsystem,windows
LINKER_FLAGS = -lmingw32 -lSDL2main -lSDL2 -lSDL2_image
#This is the target that compiles the executable
all : $(OBJS)
ifeq ($(DEBUG),yes)
g++ $(OBJS) $(INCLUDE_PATHS) $(LIBRARY_PATHS) $(COMPILER_FLAGS) -g $(LINKER_FLAGS) -o Debug\$(OBJ_NAME)
else
g++ $(OBJS) $(INCLUDE_PATHS) $(LIBRARY_PATHS) $(COMPILER_FLAGS) $(LINKER_FLAGS) -o Release\$(OBJ_NAME)
endif
将变量转换为字符串,但由于某种原因,编译没有说明任何内容。
这就是我的makefile的样子(我对makefile并不是很好,因为我不太了解它是如何工作的,但这就是我现在所拥有的):
{{1}}
答案 0 :(得分:1)
一旦你看到编译器标志,我猜这个问题很明显......
然后意识到,您的COMPILER_FLAGS = -w -Wl,-subsystem,windows
包含-w
标志。你应该首先删除它(无论它出现在什么原因......)并包括-Wall
(感谢@keltar指出这一点),然后看看警告是否开始出现,就像你想要它们一样。