\VC\bin\x86_arm
フォルダにarmasm.exe
というファイルがあるとしますか?もしそうなら、いいえ、これはARMバイナリではなく、x86バイナリです。あなたのマシンで実行されます。
実際には、x86用のARMクロスアセンブラです。つまり、x86ホスト上でARMバイナリをアセンブルすることができます。それは、x86用のx64クロスコンパイラ(x86_amd64
)フォルダのように考えてください。これは、32ビットx86ホスト上の64ビットバイナリをコンパイルできます。
環境が正しく設定されていないため、必要な依存関係を見つけることができないため、開始できないのが原因です。私はそれを起動しようとすると、私はあなたがより多くの詳細なメッセージを取得する:あなたは前に、を(同じフォルダに)vcvarsx86_arm.bat
バッチファイルを使用するように環境が正しく設定を取得することを意図している
System Error:
The program can't start because msvcdis140.dll is missing from your computer. Try reinstalling the program to fix this problem.
いずれかのツールを実行しようとしています。ステップバイステップ:
- 新しいコマンドプロンプトを開きます。
vcvarsx86_arm.bat
にドラッグし、Enterキーを押して実行します。これにより、x86/ARMツールを実行するように環境が設定されます。
armasm.exe
にドラッグします(またはプロンプトにarmasm.exe
と入力するだけです)。これは、環境が正しく設定されているため(パスを含むため、フルパスを入力する必要なしに見つけることができるため)、実行されます。
\VC\bin\amd64_arm
フォルダもあります。これには、x64ホスト上で動作するARM実行可能ファイル用のツールが含まれています。最初にそのフォルダにvcvarsamd64_arm.bat
ファイルを起動する以外は、まったく同じ方法でそれらを使用します。
私は\VC\bin\arm
フォルダも見ていますが、(少なくともVS 2015のインストールでは)EXE:pgosweep.exe
というフォルダが1つしかありません。 Microsoftは、ARMプラットフォーム上で動作するARMアセンブラを提供するようには見えていません。これは意味をなさない - 私はARMが開発のためにサポートされているホストだとは思わない。 Visual Studioは確かにARMに移植されていません。 x86またはx64でARMツールを使用するだけです。