原文鏈接:http://www.itzhe.cn/news/20080717/178365.html
我剛剛下了一個(gè)zlib的源代碼,下載地址:http://www.zlib.net/zlib123.zip,用vc打開其中的projects\visualc6下的zlib.dsw工程文件后,進(jìn)行編譯,就報(bào)出了以下的錯(cuò)誤:
--------------------Configuration: zlib - Win32 LIB ASM Debug--------------------
Assembling...
'ml.exe' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序
或批處理文件。
Error executing c:\windows\system32\cmd.exe.
zlibd.lib - 1 error(s), 0 warning(s)
我找了一下也沒發(fā)現(xiàn)有“ml.exe”這樣的文件啊,不曉得是哪個(gè)地方出的問(wèn)題啊!源代碼是絕對(duì)沒有動(dòng)過(guò)的。希望有對(duì)zlib有研究的幫幫忙啊!先謝過(guò)啦!
網(wǎng)友回復(fù):ml.exe 是微軟匯編編譯器, MASM6 或者以后版本,并在PATH 中設(shè)置執(zhí)行路徑即可. DDK 也是可以的
網(wǎng)友回復(fù):make line???
網(wǎng)友回復(fù):我已經(jīng)將MASM6.11安裝了也設(shè)置了環(huán)境變量,在命令行方式下也能正常的運(yùn)行ml.exe了,但是為什么在vc下還是會(huì)報(bào)那個(gè)錯(cuò)誤啊???????我真的快要崩潰啦!希望能告訴我下到底我哪漏掉了啊!
網(wǎng)友回復(fù):那你強(qiáng)制指定路徑試一下。或者把ml相關(guān)的幾個(gè)文件放到vc6的bin目錄下。
網(wǎng)友回復(fù):引用 4 樓 unsigned 的回復(fù):
那你強(qiáng)制指定路徑試一下。或者把ml相關(guān)的幾個(gè)文件放到vc6的bin目錄下。
OK!按照你的方式更改后已經(jīng)不會(huì)報(bào)ml.exe的錯(cuò)誤了!不過(guò)現(xiàn)在又出了新的問(wèn)題!!!!
當(dāng)用ml來(lái)編譯inffas32.asm文件時(shí),會(huì)報(bào)39個(gè)錯(cuò)誤!!!!在命令行方式下單獨(dú)編譯也會(huì)報(bào)這39個(gè)錯(cuò)誤!!!
具體的錯(cuò)誤信息如下:
--------------------Configuration: zlib - Win32 LIB ASM Debug--------------------
Assembling...
Assembling: ..\..\contrib\masmx86\inffas32.asm
..\..\contrib\masmx86\inffas32.asm(65): error A2008: syntax error : .
..\..\contrib\masmx86\inffas32.asm(638): error A2008: syntax error : emms
..\..\contrib\masmx86\inffas32.asm(644): error A2008: syntax error : mm0
..\..\contrib\masmx86\inffas32.asm(647): error A2008: syntax error : mm4
..\..\contrib\masmx86\inffas32.asm(648): error A2008: syntax error : movq
..\..\contrib\masmx86\inffas32.asm(649): error A2008: syntax error : mm5
..\..\contrib\masmx86\inffas32.asm(650): error A2008: syntax error : movq
..\..\contrib\masmx86\inffas32.asm(651): error A2008: syntax error : pxor
..\..\contrib\masmx86\inffas32.asm(657): error A2008: syntax error : psrlq
..\..\contrib\masmx86\inffas32.asm(662): error A2008: syntax error : mm6
..\..\contrib\masmx86\inffas32.asm(663): error A2008: syntax error : mm7
..\..\contrib\masmx86\inffas32.asm(665): error A2008: syntax error : psllq
..\..\contrib\masmx86\inffas32.asm(667): error A2008: syntax error : por
..\..\contrib\masmx86\inffas32.asm(670): error A2008: syntax error : pand
..\..\contrib\masmx86\inffas32.asm(671): error A2008: syntax error : eax
..\..\contrib\masmx86\inffas32.asm(672): error A2008: syntax error : movq
..\..\contrib\masmx86\inffas32.asm(677): error A2008: syntax error : mm1
..\..\contrib\masmx86\inffas32.asm(706): error A2008: syntax error : psrlq
..\..\contrib\masmx86\inffas32.asm(707): error A2008: syntax error : mm1
..\..\contrib\masmx86\inffas32.asm(708): error A2008: syntax error : ecx
..\..\contrib\masmx86\inffas32.asm(714): error A2008: syntax error : psrlq
..\..\contrib\masmx86\inffas32.asm(719): error A2008: syntax error : mm6
..\..\contrib\masmx86\inffas32.asm(720): error A2008: syntax error : mm7
..\..\contrib\masmx86\inffas32.asm(722): error A2008: syntax error : psllq
..\..\contrib\masmx86\inffas32.asm(724): error A2008: syntax error : por
..\..\contrib\masmx86\inffas32.asm(728): error A2008: syntax error : pand
..\..\contrib\masmx86\inffas32.asm(729): error A2008: syntax error : eax
..\..\contrib\masmx86\inffas32.asm(730): error A2008: syntax error : movq
..\..\contrib\masmx86\inffas32.asm(739): error A2008: syntax error : mm1
..\..\contrib\masmx86\inffas32.asm(747): error A2008: syntax error : psrlq
..\..\contrib\masmx86\inffas32.asm(748): error A2008: syntax error : mm1
..\..\contrib\masmx86\inffas32.asm(749): error A2008: syntax error : ecx
..\..\contrib\masmx86\inffas32.asm(808): error A2008: syntax error : psrlq
..\..\contrib\masmx86\inffas32.asm(809): error A2008: syntax error : ecx
..\..\contrib\masmx86\inffas32.asm(821): error A2008: syntax error : psrlq
..\..\contrib\masmx86\inffas32.asm(822): error A2008: syntax error : ecx
..\..\contrib\masmx86\inffas32.asm(1021): error A2008: syntax error : psrlq
..\..\contrib\masmx86\inffas32.asm(1022): error A2008: syntax error : ebp
..\..\contrib\masmx86\inffas32.asm(1024): error A2008: syntax error : emms
Error executing c:\windows\system32\cmd.exe.
example.exe - 39 error(s), 0 warning(s)
希望曾經(jīng)編譯過(guò)zlib的達(dá)人給予幫助!
是不是我的MASM6 版本太高了,所以對(duì)匯編的代碼不支持啊????真的崩潰了啊!!!!!!
網(wǎng)友回復(fù):是你的ml版本太低。這上面出錯(cuò)的都是一些新指令。
網(wǎng)友回復(fù):引用 6 樓 unsigned 的回復(fù):
是你的ml版本太低。這上面出錯(cuò)的都是一些新指令。
現(xiàn)在問(wèn)題解決啦!原來(lái)是在編譯庫(kù)的時(shí)候應(yīng)該選win32 lib debug而不是它默認(rèn)的win32 lib asm debug,雖然有匯編的代碼,但是似乎這樣選了以后就不會(huì)編譯匯編代碼了哦!呵呵!感謝這么多位的幫助哈!問(wèn)題解決!Done!