vc下zlib編譯出現問題
原文鏈接:http://www.itzhe.cn/news/20080717/178365.html
我剛剛下了一個zlib的源代碼,下載地址:http://www.zlib.net/zlib123.zip,用vc打開其中的projects\visualc6下的zlib.dsw工程文件后,進行編譯,就報出了以下的錯誤:
--------------------Configuration: zlib - Win32 LIB ASM Debug--------------------
Assembling...
'ml.exe' 不是內部或外部命令,也不是可運行的程序
或批處理文件。
Error executing c:\windows\system32\cmd.exe.
zlibd.lib - 1 error(s), 0 warning(s)
我找了一下也沒發現有“ml.exe”這樣的文件啊,不曉得是哪個地方出的問題??!源代碼是絕對沒有動過的。希望有對zlib有研究的幫幫忙啊!先謝過啦!
網友回復:ml.exe 是微軟匯編編譯器, MASM6 或者以后版本,并在PATH 中設置執行路徑即可. DDK 也是可以的
網友回復:make line???
網友回復:我已經將MASM6.11安裝了也設置了環境變量,在命令行方式下也能正常的運行ml.exe了,但是為什么在vc下還是會報那個錯誤?。???????我真的快要崩潰啦!希望能告訴我下到底我哪漏掉了?。?br>網友回復:那你強制指定路徑試一下?;蛘甙裮l相關的幾個文件放到vc6的bin目錄下。
網友回復:引用 4 樓 unsigned 的回復:
那你強制指定路徑試一下?;蛘甙裮l相關的幾個文件放到vc6的bin目錄下。
OK!按照你的方式更改后已經不會報ml.exe的錯誤了!不過現在又出了新的問題?。。?!
當用ml來編譯inffas32.asm文件時,會報39個錯誤?。。?!在命令行方式下單獨編譯也會報這39個錯誤?。。?
具體的錯誤信息如下:
--------------------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)
希望曾經編譯過zlib的達人給予幫助!
是不是我的MASM6 版本太高了,所以對匯編的代碼不支持啊????真的崩潰了啊?。。。。?!
網友回復:是你的ml版本太低。這上面出錯的都是一些新指令。
網友回復:引用 6 樓 unsigned 的回復:
是你的ml版本太低。這上面出錯的都是一些新指令。
現在問題解決啦!原來是在編譯庫的時候應該選win32 lib debug而不是它默認的win32 lib asm debug,雖然有匯編的代碼,但是似乎這樣選了以后就不會編譯匯編代碼了哦!呵呵!感謝這么多位的幫助哈!問題解決!Done!
posted on 2009-09-07 21:45 肥仔 閱讀(2352) 評論(1) 編輯 收藏 引用 所屬分類: 庫 & 代碼段