I used this to put in Debug info, but it gives me error messages with both ml.exe and link.exe.
This occurs with versions 8.0 and 9.0.
One of the messages was incorrect version of mspdb80.dll ?
\masm32\bin\ml /c /coff /Zi /Zd %1.asm
\masm32\bin\Link /DEBUG /SUBSYSTEM:WINDOWS /OPT:NOREF /RELEASE %1.obj
hmmmmmm
i think, with the newer assembler/linker, the DLL has to be locatable via the PATH environment variable
if you have a different version of the DLL that is found before the desired file when PATH is expanded, you are likely to get an error (like if there is one in the system32 folder)
there are a number of ways around it
one way is to use SETLOCAL in the assembly batch file
another would be to ensure the PATH variable is set up accordingly
make sure the assembler, linker, and DLL are in the same folder, too
All the files needed are in a directory in my path statement.
All the necessary files are in the same folder
Not familiar with SetLocal ?
it is similar to SET
SET PATH=blah;blah;blah
only with SETLOCAL, it applies temporarily - until the batch file has finished
you may want to check the order that the paths are listed in the environment variable
the OS looks in the first listed paths, first
so, using SETLOCAL, you can force your C:\Masm32\Bin folder to be first in the list
SETLOCAL PATH=C:\Masm32\Bin;%PATH%
once the batch file has finished, the PATH variable will return to the previous state
if that does not fix the problem, ensure you have the correct DLL
open a console window and change the current directory to the \Masm32\Bin folder
then try running ML and LINK from the console window
Quote
I used this to put in Debug info, but it gives me error messages with both ml.exe and link.exe
What types of messages ?
Quote
One of the messages was incorrect version of mspdb80.dll ?
This let think you have a linker who is more recent than the old one of masm32,perhaps also a recent windbg.This dll is updated often to reflect the change in the .pdb format.
If it is the case proceed as follow:
http://www.masm32.com/board/index.php?topic=17184.msg143589#msg143589
Here is a little overview. Note all these work fine if you don't insist on debug info.
Jwasm /Zi, linkv614 /debug works fine, fast
mlv614 /Zi, linkv614 /debug works but no SSE2
mlv615 /Zi, linkv614 /debug works fine
mlv615 /Zi, polink /debug works fine, slow
mlv8+ /Zi, linkv614 /debug fatal error LNK1103: debugging information corrupt; recompile modulee
mlv8+ /Zi, polink /debug Internal error: convert_symbols_from_V4_to_V2
mlv8+ /Zi, linkv8+ /debug fatal error LNK1101: incorrect MSPDB80.DLL version
Jwasm /Zi, linkv8+ /debug fatal error LNK1101: incorrect MSPDB80.DLL version
I reinstalled the masm sdk and got it to work.
Ollydbg shows the source code, but I see no use for it as I can already have the source open in another window.