我有一个包含一些SDL标头的程序,但是由于我重新安装了Windows,因此make不再起作用。它说找不到头文件。使用make的确切输出运行g ++可以正常工作。
我正在运行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)