Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# nmake致命错误U1034:语法错误:缺少分隔符_C#_Makefile_Nmake_Gracenote - Fatal编程技术网

C# nmake致命错误U1034:语法错误:缺少分隔符

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,您必须安

我得到了一个c#应用程序的生成文件。 我正在尝试从VisualStudio命令提示符运行它。
这一行出现错误: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生成命令提示符。。但我也可能弄错了