make无法构建,但g ++可以正常编译

时间:2019-10-03 16:14:46

标签: makefile g++ mingw

我有一个包含一些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)

0 个答案:

没有答案