mingw makefile编译器不输出所有内容

时间:2017-12-15 02:45:24

标签: c++ makefile

我用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}}

1 个答案:

答案 0 :(得分:1)

一旦你看到编译器标志,我猜这个问题很明显......

查看:Disable all gcc warnings

然后意识到,您的COMPILER_FLAGS = -w -Wl,-subsystem,windows包含-w标志。你应该首先删除它(无论它出现在什么原因......)并包括-Wall(感谢@keltar指出这一点),然后看看警告是否开始出现,就像你想要它们一样。