Hi everyone,
I'm interested in using masm and I was wondering why my copy of Visual Studio 2005 (not express edition) has ml.exe and link.exe but no includes? I can't find them anywhere. I'd like to be able to have a compatible assembler for the vc8 compiler.
can anyone help me out here?
ps i've checked the include directory that's in the previous directory as the bin folder (where ml.exe and link.exe are located) but they only have C/C++ header files... where are the masm include files?! :'(
Hi bb,
Welcome on board. Microsoft have never supplied headers for MASM in 32 bit and the H2INC tool long ago failed to be any use making them. Use the include file from MASM32 as they do almost all of the Windows API functions and the WINDOWS.INC has a large range of structures and equates.
Wow that was quick; thanks for the help
Is your masm package (it's like masm 6.14 or something (the one i have)) compatible with the vc8 compiler (in the sense that i can link the obj files together and things)?
edit: sorry if i'm not using the right terminology as i'm kind of noobish with windows asm (used to do a lot of unix assembly and stuff)
You have ml.exe around 8.00.50727.42 . It's been problematic when assembling macro-infested code.
I think I also met some trouble in making the linker accept .obj files, generated from ml.exe 6.14 .
Hutch posted MASM32 include files that will work with ml.exe 8.0 here (http://www.masm32.com/board/index.php?topic=5408.0). If you are using ml.exe 8.0 you should use link.exe 8.0. It works best to match the version of ml.exe with link.exe. Also, the debug information format is different for every version of Visual Studio, the older debug formats work with the newer tools but not the other way around.
6.x = Visual Studio 98
7.0 = Visual Studio 2002
7.1 = Visual Studio 2003
8.0 = Visual Studio 2005
An exception is link.exe 5.12 works fine with ml.exe 6.x.
bubbabubby,
If you are looking for another MS COFF linker, you can try polink.exe coming with Pelle's C development package.