我想構建一個多模塊組件。我有兩個文件,即Fraction.cs和MyCalc.cs,並且都在同一個命名空間和另一個AssemblyInfo.cs中。我不知道如何製作makefile文件,所以我從我正在關注的書中複製了一個。這裏是內容構建多模塊組件
ASSEMBLY= MySharedAssembly.dll
BIN=.\bin
SRC=.
DEST=.\bin
CSC=csc /nologo /debug+ /d:DEBUG /d:TRACE
MODULETARGET=/t:module
LIBTARGET=/t:library
EXETARGET=/t:exe
REFERENCES=System.dll
MODULES=$(DEST)\Fraction.dll $(DEST)\MyCalc.dll
METADATA=$(SRC)\Assemblyinfo.cs
all: $(DEST)\MySharedAssembly.dll
# Assembly metadata placed in the same module as manifest
$(DEST)\$(ASSEMBLY): $(METADATA) $(MODULES) $(DEST) $(CSC) $(LIBTARGET) /addmodule:$(MODULES: =;) /out:[email protected] %s
# Add MyCalc.dll module to this dependency list
$(DEST)\MyCalc.dll: MyCalc.cs $(DEST) $(CSC) $(MODULETARGET) /r:$(REFERENCES: =;) /out:[email protected] %s
# Add Fraction
$(DEST)\Fraction.dll: Fraction.cs $(DEST) $(CSC) $(MODULETARGET) /r:$(REFERENCES: =;) /out:[email protected] %s
$(DEST)::
!
if !EXISTS($(DEST))
mkdir $(DEST)
!endif
我明白整個很多,但不熟悉的語法。所以,當我試圖運行NMAKE我收到以下錯誤
生成文件(21):致命錯誤v1033:語法錯誤:「:」意外
我假設的東西是錯誤的線21,請幫助
不,不是這個以$(DEST)\ $(ASSEMBLY)開頭的那個: – 2011-04-25 07:27:50
我一直在嘗試不同的方法來使它工作,但無濟於事。然後我認爲目標錯誤代碼而不是makefile。它在http://msdn.microsoft.com/en-us/library/42y74zxt.aspx上說,錯誤代碼是U1033,並且它在makefile被文字處理器格式化時發生。現在我在記事本中創建了這個文件,可能它也意味着相同。我必須嘗試一些不同的東西,以使用像編輯這樣的舊式線條編輯器在dos提示符下重新創建文件。 – 2011-04-25 10:25:42
nope我甚至嘗試在複製con的cmd提示符下創建文件,但它仍然不起作用! – 2011-04-25 10:57:23