У меня есть программа, которая включает некоторые заголовки SDL, но, поскольку я переустановил Windows, make больше не работает. Это говорит о том, что заголовки включения не найдены. Запуск g ++ с точным выводом make работает нормально.
Я запускаю windows 10 с mingw, чтобы поиграться с некоторым c ++. Я написал небольшой mcve, чтобы проиллюстрировать мою проблему. Если я собираю с make, это происходит:
D:\TESTING\test>mingw32-make all
g++ *pp -ID:\LIBS\testlib -o test.exe
test.cpp:1:10: fatal error: t.h: No such file or directory
#include <t.h>
^~~~~
compilation terminated.
Makefile:6: recipe for target 'all' failed
mingw32-make: *** [all] Error 1
Но если я запускаю вывод make напрямую:
g++ *pp -ID:\LIBS\testlib -o test.exe
Программа прекрасно компилируется.
Воткод cpp:
#include <t.h>
int main(int argc, char * args[]) {
std::cout << t <<std::endl;
}
Файл заголовка (в D: \ LIBS \ testlib):
#include <iostream>
#include <string>
std::string t = "meh";
И Makefile:
CC=g++
OBJS = *pp
INCLUDE_PATHS = -ID:\LIBS\testlib
OBJ_NAME = test.exe
all : $(OBJS)
$(CC) $(OBJS) $(INCLUDE_PATHS) -o $(OBJ_NAME)