2017-05-26 285 views
1

我被給了一個Windows makefile用於我必須做的OpenGL任務,但是當我使用'NMake'運行它時會引發此錯誤:Windows makefile(name) - 語法錯誤:')'在宏調用中丟失

makefile(7) : fatal error U1000: syntax error: ')' missing in macro invocation 

這是生成文件的內容,他們給了我:

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) $< [email protected] $(COMMONFLAGS) 

clean: 
    rm -f $(TARGETPATH) 
    rm -f $(OBJ) 

我怎樣才能解決呢?非常感謝!

+0

你的問題到底是什麼? – iehrlich

+0

@iehrlich我該如何解決這個錯誤? –

+0

它是完整的makefile嗎? – iehrlich

回答

0

據我所知,這不是一個NMake makefile,而是一個GNU Make makefile。另外,Windows中沒有'rm'命令。這似乎是有人拿了一個* nix中生成文件和半釀造它使用Windows構建...

是什麼讓我這麼認爲的wildcardpatsubst功能(未通過NMAKE AFAIK支持),該rm主要存在刪除命令,以及* nix風格的路徑。

+0

我該如何解決它? –

+0

夠簡單,你寫出來。或者你問那個給你的人,你打算如何運行它。或者,如果您只需要啓動並運行,您可以考慮使用VC++ express(可以自由下載)創建一個簡單的解決方案。實際上有很多選擇。 – iehrlich