compilation problem

I have just started to recompile our V8 mdl programs to V8i, but I got stuck with the compilation. The first problem I ran into was that I got this message:

[== Generating compiler environment file c:\kallkod\mdl\mdlapps\compenv.mki, (C:\BentleyV8i\MicroStation\mdl\include\compenv.c) ==]
cl -nologo C:\BentleyV8i\MicroStation\mdl\include\compenv.c -EP > c:\kallkod\mdl\mdlapps\compenv.mki
'cl' is not recognized as an internal or external command,
operable program or batch file.
Wed May 27 10:26:53 2009, elapsed time: 0:00
BMAKE: file [c:\kallkod\mdl\mdlapps\compenv.mki] may be incomplete
BMAKE: call trace
line: 57, C:\BentleyV8i\MicroStation\mdl\include\compilers.mki
line: 34, C:\BentleyV8i\MicroStation\mdl\include\mdl.mki
line: 12, C:\Kallkod\mdl\Bolis8i\meny\Bolmeny.mk8i

 I found a thread about it where the suggestion was to add -dBUILD_USING_VS2005 to the command line. I tried that (I'm not sure I put it in the right place though...), but it didn't help.

I'm probably not doing it the "normal" way... I'm using our own batch-file (used from V7) from which I compile to all the version we use. The part concerning V8i looks like this:

set MS=C:\BentleyV8i\MicroStation
set mdltools=%MS%\
set MSMDE=%mdltools%
set BMAKE_OPT=-I%mdltools%mdl\include
set BOLIS_SRC=c:\KALLKOD\mdl\bolis8i
set BOLIS_LIB=c:\kallkod\mdl\bolislib
set BOLIS_APPL=c:\kallkod\mdl\mdlapps
set gensrc=%BOLIS_APPL%\
set PATH=%MS%;%mdltools%mdl\bin\;%BOLIS_SRC%\bin;%PATH%
set MLINK_STDLIB=%mdltools%mdl\library\builtin.dlo %mdltools%mdl\library\BentleyDgn.dlo %mdltools%mdl\library\toolsubs.dlo
for %%f in ( *.mk8i ) do %MS%\mdl\bin\bmake.exe -dBUILD_USING_VS2005 %%f

 

All our make-files are written so that the file directory in which we have the source code is has to be the active directory. This batch file simply finds all the make-files in that directory and compiles them.

/Lena

 

Parents
  • Lena:
    The first problem I ran into was that I got this message: 'cl' is not recognized

    With MicroStation XM and later the Bentley build tools assume that we're attempting to compile a native C/C++ project. c1.exe is Microsoft's C++ compiler executable.

    We're encouraged to write C++ code these days, calling the MicroStation Development Library (MDL) as required. If you're compiling pure MDL code (i.e. not C/C++ native code) then you need to turn off the relevant switches. Unfortunately, the relevant switches are not always easy to find, because some are buried in bmake include (.mki) files that are hard to understand.

    A good way to start is to follow Phil's recommendation: start the Bentley command shell, and build a single project manually. Once you have that working, you can transfer the Windows environment variable definitions to your own batch builder.

    Regards, Jon Summers
    LA Solutions

     
    Regards, Jon Summers
    LA Solutions

Reply
  • Lena:
    The first problem I ran into was that I got this message: 'cl' is not recognized

    With MicroStation XM and later the Bentley build tools assume that we're attempting to compile a native C/C++ project. c1.exe is Microsoft's C++ compiler executable.

    We're encouraged to write C++ code these days, calling the MicroStation Development Library (MDL) as required. If you're compiling pure MDL code (i.e. not C/C++ native code) then you need to turn off the relevant switches. Unfortunately, the relevant switches are not always easy to find, because some are buried in bmake include (.mki) files that are hard to understand.

    A good way to start is to follow Phil's recommendation: start the Bentley command shell, and build a single project manually. Once you have that working, you can transfer the Windows environment variable definitions to your own batch builder.

    Regards, Jon Summers
    LA Solutions

     
    Regards, Jon Summers
    LA Solutions

Children