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を試しました。2010 と 2012 の両方で、Visual Studio Express コマンド プロンプトでコンパイルしてみました。それらのファイルを検索しようとしましたが、私の PC にはありません。や のようないくつか (30 ほど)のファイルがありますが、必要なもの、つまり Windows 関数と定数の宣言が含まれているファイルはないようです。include windows.incinclude masm32rt.inc> ml test.asm.incmacamd64.incmm.inc

足りないものはありますか?Google はあまり助けを提供しませんでした。ほとんどのチュートリアルでは、これらのファイルがあることを前提としています。しかし、ほとんどのチュートリアルは、masm32.comから MASM をダウンロードする手順から始まります。既に持っている MASM コンパイラを使用することはできませんか?

4

2 に答える 2

1

No, ml is just the Assembler. Unless you want to reinvent the wheel and create all includes and import libs, then you need to install masm32. It includes needed includes, import libs, structs, equates etc... It will make your life much easier

于 2012-10-26T14:26:42.337 に答える
-2

コンパイルしようとしているコードは、MASM32マクロやMASM32ライブラリを使用しています。MASM32用に構築されたことを意味します。MASM32は(ある程度)異なるMASM互換コンパイラであるため、MASM32マクロライブラリはVisualStudioでは使用できません。そのコードを正常にコンパイルするには、少なくとも必要なインクルードファイルが必要です。

于 2012-10-28T15:59:59.743 に答える