Jump to content
Excelsior Forums
Sign in to follow this  
Alec

Configuring XDS for seamless compilation

Recommended Posts

I'm trying to setup XDS to work with MSVC 2005.

Out of the box it seems to be set up for MSVC. W when I select build all nmake fails because it appears to encounter a path with spaces in it.

nmake : fatal error U1073: don't know how to make 'Files\Microsoft'

If I run nmake from the command prompt nmake -f tmp.mkf it runs OK.

Configure->Tools specifies Build All to be "$(xdsmain)" =a =m "$(file)"

I cannot see where the path with spaces is comming from.  Something must be expanding to c:\program files\Microsoft but I can't work out which macro it is.

Any ideas?

Thanks

Alec

Share this post


Link to post
Share on other sites

I've searched for the cause of this problem and concluded that nmake is not working properly.  It thinks at run time that there is a target called Files\Microsoft but there is no such target.  If I create one it builds it!

Does anyone have XDS-C working with MSVC, if so which version and what is the version of nmake?  I've tried version 7 and 8 of nmake.

Thanks

Alec

Share this post


Link to post
Share on other sites

Solved

Nmake parses its command line looking for options and targets.  Anything that is not an option is assumed to be a target.  The first argument passed to any program is the path to the program.  It appears that nmake parses this path and tokenises it at spaces.  On my PC, in VC2005, nmake is installed at C:\Program Files\Microsoft Visual Studio 8\VC\bin\nmake.exe

This tokenises as                    and is interpreted as

C:\Program                            path to nmake

Files\Microsoft                        false target

Visual                                      false target

Studio                                    false target

8\VC\bin\nmake.exe              false target

The build immediately fails since nmake does not know how to build Files\Microsoft

The solution is simple.

Copy nmake.exe into a directory path that has no spaces.  I put it in c:\nmake.

I copied the batch file that sets up the command line environment for VS2005 and changed it to set up the environment and then start XDS.  I use the new file (XDSvcvarsall.bat) to start XDS.

C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat

copied  to a new file

C:\Program Files\Microsoft Visual Studio 8\VC\XDSvcvarsall.bat 

I then edited this file in the section under label :x86

:x86

if not exist "%~dp0bin\vcvars32.bat" goto missing

call "%~dp0bin\vcvars32.bat"

set PATH=c:\nmake;%path%

cd\xds\projects

C:\XDS\BIN\xds.exe

goto :eof

set PATH=c:\nmake;%path% ensures that nmake.exe is found in a path without spaces

cd\xds\projects puts me in my preferred working directory

C:\XDS\BIN\xds.exe launches xds

hope this helps anyone that finds the same problem

A

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×