C# nmake致命错误U1034:语法错误:缺少分隔符
我得到了一个c#应用程序的生成文件。 我正在尝试从VisualStudio命令提示符运行它。C# nmake致命错误U1034:语法错误:缺少分隔符,c#,makefile,nmake,gracenote,C#,Makefile,Nmake,Gracenote,我得到了一个c#应用程序的生成文件。 我正在尝试从VisualStudio命令提示符运行它。 这一行出现错误:CSHARP_FLAGS+=/platform:x86您正在查看的生成文件似乎是GNU生成的生成文件。您不能将其与nmake一起使用。如果要使用此makefile,您必须安装GNU make,或者编写nmake makefile与nmake一起使用。您正在查看的makefile似乎是GNU make makefile。您不能将其与nmake一起使用。如果要使用此makefile,您必须安
这一行出现错误:CSHARP_FLAGS+=/platform:x86您正在查看的生成文件似乎是GNU生成的生成文件。您不能将其与nmake一起使用。如果要使用此makefile,您必须安装GNU make,或者编写nmake makefile与nmake一起使用。您正在查看的makefile似乎是GNU make makefile。您不能将其与nmake一起使用。如果要使用此makefile,您必须安装GNU make,或者编写一个nmake makefile以与nmake一起使用。缺少分隔符是指nmake在目标与其从属项之间缺少冒号 在这种情况下,这是由于使用GNU make ifeq造成的,NMAKE不能识别并解释为目标。使用NMAKE的if子句 因此,用以下内容替换您的if条款:
# gnsdk C# wrapper sample makefile
##
CC=Csc.exe
CP=cp
GNSDK_LIB_PATH=../../../../lib/$(GNSDK_PLATFORM)
GNSDK_WRAPPER_LIB_PATH=../../lib/$(GNSDK_PLATFORM)
GNSDK_MARSHAL_LIB=$(GNSDK_WRAPPER_LIB_PATH)/gnsdk_csharp_marshal.dll
GNSDK_CSHARP_LIB=../../lib/gnsdk_csharp.dll
CSHARP_FLAGS=/noconfig /nowarn:1701,1702 /nostdlib+ /errorendlocation
CSHARP_REFS=/reference:$(GNSDK_CSHARP_LIB) /reference:"Microsoft.CSharp.dll" /reference:"mscorlib.dll" /reference:"System.Core.dll" /reference:"System.Data.DataSetExtensions.dll" /reference:"System.Data.dll" /reference:"System.dll" /reference:"System.Xml.dll"
ifeq ($(GNSDK_PLATFORM), win_x86-32)
CSHARP_FLAGS+=/platform:x86
endif
ifeq ($(GNSDK_PLATFORM), win_x86-64)
CSHARP_FLAGS+=/platform:x64
endif
SAMPLE_TARGET=sample.exe
build_sample:
$(CC) $(CSHARP_FLAGS) $(CSHARP_REFS) /out:$(SAMPLE_TARGET) /target:exe /utf8output MusicIDStream.cs
$(CP) $(GNSDK_MARSHAL_LIB) .
$(CP) $(GNSDK_CSHARP_LIB) .
注意!在if和endif子句之前进行标记,并标记是否缺少额外的行间距。这些都很重要。缺少分隔符指的是nmake在目标及其从属项之间缺少冒号 在这种情况下,这是由于使用GNU make ifeq造成的,NMAKE不能识别并解释为目标。使用NMAKE的if子句 因此,用以下内容替换您的if条款:
# gnsdk C# wrapper sample makefile
##
CC=Csc.exe
CP=cp
GNSDK_LIB_PATH=../../../../lib/$(GNSDK_PLATFORM)
GNSDK_WRAPPER_LIB_PATH=../../lib/$(GNSDK_PLATFORM)
GNSDK_MARSHAL_LIB=$(GNSDK_WRAPPER_LIB_PATH)/gnsdk_csharp_marshal.dll
GNSDK_CSHARP_LIB=../../lib/gnsdk_csharp.dll
CSHARP_FLAGS=/noconfig /nowarn:1701,1702 /nostdlib+ /errorendlocation
CSHARP_REFS=/reference:$(GNSDK_CSHARP_LIB) /reference:"Microsoft.CSharp.dll" /reference:"mscorlib.dll" /reference:"System.Core.dll" /reference:"System.Data.DataSetExtensions.dll" /reference:"System.Data.dll" /reference:"System.dll" /reference:"System.Xml.dll"
ifeq ($(GNSDK_PLATFORM), win_x86-32)
CSHARP_FLAGS+=/platform:x86
endif
ifeq ($(GNSDK_PLATFORM), win_x86-64)
CSHARP_FLAGS+=/platform:x64
endif
SAMPLE_TARGET=sample.exe
build_sample:
$(CC) $(CSHARP_FLAGS) $(CSHARP_REFS) /out:$(SAMPLE_TARGET) /target:exe /utf8output MusicIDStream.cs
$(CP) $(GNSDK_MARSHAL_LIB) .
$(CP) $(GNSDK_CSHARP_LIB) .
注意!在if和endif子句之前进行标记,并标记是否缺少额外的行间距。这些都很重要。您是从
visual studio命令提示符
还是从ms build命令提示符
使用visual studio命令提示符进行操作。我想知道它们是否会产生或期望在格式和解释方面有不同的参数,因为我看到了build\u sample
我想您可能想要使用ms生成命令提示符。。但是我也可能弄错了,你是从visualstudio命令提示符
还是我用visualstudio命令提示符做的ms build命令提示符
。我想知道他们是否产生或期望在格式和解释方面有不同的参数,因为我看到了build\u sample
我想你是想要的使用ms生成命令提示符。。但我也可能弄错了