【问题标题】:nmake fatal error U1034: syntax error : separator missingnmake 致命错误 U1034:语法错误:缺少分隔符
【发布时间】:2016-07-19 19:01:14
【问题描述】:
# 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) .

我有一个 c# 应用程序的生成文件。 我正在尝试从 Visual Studio 命令提示符运行它。 我收到此行错误:CSHARP_FLAGS+=/platform:x86

【问题讨论】:

  • 你是从visual studio command prompt还是ms build command prompt做的
  • 我正在使用 Visual Studio 命令提示符。
  • 好吧,我想知道他们是否会产生或期望不同的参数,因为我看到了build_sample,因为我看到build_sample 我想你想使用 ms build 命令提示符.. 但我可能弄错了也

标签: c# makefile nmake gracenote


【解决方案1】:

您正在查看的 makefile 似乎是 GNU make makefile。您不能将它与 nmake 一起使用。如果你想使用这个 makefile,你必须安装 GNU make,或者编写一个 nmake makefile 来与 nmake 一起使用。

【讨论】:

    【解决方案2】:

    缺少分隔符是指 nmake 在目标及其依赖项之间缺少冒号。

    在这种情况下,这是由使用 GNU make ifeq 引起的,NMAKE 无法识别并解释为目标。使用 NMAKE 的 if 子句。

    所以用以下内容替换你的 if 子句:

    !if "$(GNSDK_PLATFORM)" == "win_x86-32"
    CSHARP_FLAGS+=/platform:x86
    !endif
    
    !if "$(GNSDK_PLATFORM)" == "win_x86-64"
    CSHARP_FLAGS+=/platform:x64
    !endif
    

    注意!在 if 和 endif 子句之前标记以及缺少额外的行空间。这些很重要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-04
      • 2012-05-13
      • 1970-01-01
      • 2022-01-13
      • 2010-11-22
      • 1970-01-01
      • 2022-01-05
      相关资源
      最近更新 更多