make не собирается, но g ++ компилируется нормально - PullRequest
0 голосов
/ 03 октября 2019

У меня есть программа, которая включает некоторые заголовки 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)
...