1

我同时拥有 Visual Studio Express 2012 和 Vicual C++ Express 2010。我使用它们的 32 位 MASM 编译器 (ml.exe) 得到了相同的结果。我不知道,但我怀疑非快递用户可能有同样的问题。

我正在尝试用 MASM 编译一个小程序。显然我需要包括masm32rt.inc. 编译器抱怨它找不到这样的文件,实际上我的系统上似乎没有它。经过一番搜索,我设法找到了该文件的一个版本,但结果却是我没有的更多include-s 和-s 文件。includelib

我试过include \masm32\include\masm32rt.inc, include \masm32\include\windows.inc,include windows.incinclude masm32rt.inc. 我尝试使用 Visual Studio Express 命令提示符为 2010 和 2012 编译它们,并使用> ml test.asm. 我尝试搜索这些文件,但我的电脑上没有它们。我确实有一些(大约 30 个).inc文件,比如macamd64.incand mm.inc,但它们似乎都不包含我需要的东西:Windows 函数和常量的声明。

有什么我想念的吗?谷歌没有提供太多帮助。大多数教程都假设我有这些文件。但话又说回来,大多数教程都以从masm32.com下载 MASM 的说明开始。我不能使用我已经拥有的任何 MASM 编译器吗?

4

2 回答 2

1

不,ml 只是汇编程序。除非您想重新发明轮子并创建所有包含和导入库,否则您需要安装 masm32。它包括所需的包含、导入库、结构、等式等...它将让您的生活更轻松

于 2012-10-26T14:26:42.337 回答
-2

您尝试编译的代码使用MASM32宏和/或MASM32库。这意味着它是为MASM32构建的。MASM32宏和库在Visual Studio中不可用,因为MASM32是不同的MASM兼容(在一定程度上)编译器。您必须至少拥有所需的包含文件才能成功编译该代码。

于 2012-10-28T15:59:59.743 回答