我同时拥有Visual Studio Express 2012和Vicual C ++ Express 2010.我的32位MASM编译器(ml.exe)都得到了相同的结果。 我不知道,但我怀疑非快递用户可能会遇到同样的问题。
我正在尝试使用MASM编译一个小程序。显然我需要加入masm32rt.inc
。编译器抱怨它找不到这样的文件,事实上我似乎没有在我的系统上。经过一些搜索,我设法找到了该文件的一个版本,但事实证明只有include
- s和includelib
- 我没有的文件。
我尝试了include \masm32\include\masm32rt.inc
,include \masm32\include\windows.inc
,include windows.inc
和include masm32rt.inc
。我尝试使用visual studio express命令提示符编译它们2010年和2012年> ml test.asm
。我试着搜索那些文件,我的电脑上没有它们。我确实有一些(大约30个).inc
文件,如macamd64.inc
和mm.inc
,但它们似乎都不包含我需要的东西:Windows函数和常量的声明。
有什么我想念的吗?谷歌没有提供太多帮助。大多数教程都假设我有这些文件。但是,大多数教程再次开始从masm32.com下载MASM的指令。我不能使用我已经拥有的任何MASM编译器吗?
答案 0 :(得分:1)
不,ml只是汇编程序。除非你想重新发明轮子并创建所有包含和导入库,否则你需要安装masm32。它包括所需的包括,导入库,结构,等等......它将使您的生活更轻松
答案 1 :(得分:-2)
您尝试编译的代码使用 MASM32 宏和/或 MASM32 库。这意味着它是为 MASM32 构建的。 MASM32 中的 MASM32 宏和库不可用,因为 MASM32 是不同的 MASM 兼容的(对于范围)编译器。您必须至少拥有所需的包含文件才能成功编译该代码。