【发布时间】:2017-05-26 20:40:22
【问题描述】:
我获得了一个 Windows makefile 用于我必须执行的 OpenGL 分配,但是当我使用“NMake”运行它时它会引发此错误:
makefile(7) : fatal error U1000: syntax error: ')' missing in macro invocation
这是他们给我的makefile的内容:
CXX=cl
COMMONFLAGS= -nologo
CXXFLAGS= -MD -c
INCLUDES= -Iinclude
LFLAGS= -incremental:no -manifest:no OpenGl32.lib glew32.lib SDL2.lib SDL2main.lib -SUBSYSTEM:CONSOLE
BUILDDIR=build
SRCDIR=src
SRC=$(wildcard $(SRCDIR)/*.cpp)
_OBJ=$(SRC:.cpp=.obj)
OBJ=$(patsubst $(SRCDIR)/%,$(BUILDDIR)/%,$(_OBJ))
TARGET=prac1.exe
TARGETPATH=$(BUILDDIR)/$(TARGET)
build: $(OBJ) $(TARGET)
run:
cd $(BUILDDIR); ./$(TARGET)
$(TARGET): $(OBJ)
$(CXX) $(OBJ) -Fe$(TARGETPATH) $(COMMONFLAGS) -link $(LFLAGS)
$(BUILDDIR)/%.obj: $(SRCDIR)/%.cpp
$(CXX) $(INCLUDES) $(CXXFLAGS) $< -Fo$@ $(COMMONFLAGS)
clean:
rm -f $(TARGETPATH)
rm -f $(OBJ)
我该如何解决?非常感谢!
【问题讨论】:
-
你的问题到底是什么?
-
@iehrlich 我该如何解决这个错误?
-
它是完整的makefile吗?
-
@iehrlich 是的
-
仔细查看第 7 行。并将其与the documentation of the error message 进行比较:“表示在宏调用中出现了左括号“(”,但没有匹配的右括号“)”。正确的形式是 $(name);$n 可以是一个字符的名字。"
标签: c++ windows makefile macros invocation