How can I explain this? ummm
I invoke ml from my program with a command string
and everything works fine, until I use paths like c:\My program\myApp.asm
the assembler says this: can't open c:\My
Thats it, it is not reading the whole path string. is there a fix for this?
I know it has to do with long file names or that MASM does not parse
path names with spaces in the name right, I am not sure.
Zcoder....
if you eliminate the space between My and program,should be just fine, like My_Program.
shaka_zulu,
I am trying to make a IDE that can compile
a project in any folder no matter what the name.
And this just is not good enough, and I can't figure out how to
solve this, if it is possible.
I thank you for the suggestion and all.
but I am sure it can be done as the VC++ IDE invokes CL.exe and can do this
from any folder name.
Zcoder....
Z,
You can have a look at later ML versions but the earlier ones don't support file/path names with spaces. You can get around it by building the project in its local folder but make sure that ML and the linker are in a directory that does not have the later style of file/path names with spaces.
Why using quoted path is not mention as a solution for this problem.
It seem to work fine for me... with /Fo switch to have the control on where the object file is created.
"c:\My program\myApp.asm"
What about
C:\MYPROG~1\myApp.asm
A directory also has a short name which is usually the first 6 characters with spaces removed
followed by ~ (tilda) and a digit.
From a command prompt
cd \
dir *. /x
lists directories (without an extension following the fname)
if there are embedded spaces or it is longer than 8 chars it shows the short name then long name
if no spaces or <=8 it doesn't show short name then shows long name. (Both names are the same).
In addition, "short" file paths include the three characters after any period "." i.e.,
"C:\My Documents\Dis Com Foobilator v1.03\foo.rar" == c:\mydocu~1\discom~1.03\foo.rar
Quote from: zcoder on March 31, 2006, 11:12:22 PMI invoke ml from my program with a command string...
Use
GetShortPathName, to convert everything to a convention that is compatabile to ML directly.
Regards, P1 :8)
I worked it out using jdoe's idea and it worked.
So this tells me that masm or ml will still parse what
is in " " so that it is complete and un-touched in the parsing.
simple but yet effective.
Thanks jdoe :U
Zcoder....