Command Table Header file generation

Hello everyone, 

I have an MDL application that needs a rebuild with minor code changes. I have done the changes and have problem building the application. Once of the command table header files is missing from the source code and it is referenced by 40 - 50 other cpp files and that is what is causing the build failures. I thought this header file is something we define and a missing file is a problem for the project but was looking at some of the posts here and the wiki says this is something that is generated by resource compiler from the command table resource table (.r). 

If that is the case, why does the build process complain missing header file ? Is it something related to the order of the process in the .mke file ? How about commenting all the header file reference in those cpp files and build and if successful, bring them back and rebuild again ? Or is there a way I can just generate the header file from resource file  without building the entire application ?

appreciate your time and help here. 

Parents
  • Hi Kalyan,

    I thought this header file is something we define and a missing file is a problem for the project but was looking at some of the posts here and the wiki says this is something that is generated by resource compiler from the command table resource table (.r). 

    Yes, exactly. Command table definition in .r file has to be processed twice during the building process:

    • From .r structure, header file .h with command ids is generated. This file has to be included when the command id(s) is required.
    • .r file is compiled into .rsc and (typically) linked with other resources to .ma file.
    If that is the case, why does the build process complain missing header file ?

    Without knowing your project and how mke (and mki if used) is written, it's hard to say.

    You have to check project mke / mki files how .h file from .r file is defined.

    Is it something related to the order of the process in the .mke file ?

    Of course .h file has to be generated before other files are processed. Often the rule how command ids header file is generated is the first rule from "what files should be compiled" definitions. It can look like similarly to:

    $(genSrc)basiccmd.h	: $(BaseDir)basiccmd.r

    How about commenting all the header file reference in those cpp files and build and if successful, bring them back and rebuild again ?

    It's wrong idea.

    Or is there a way I can just generate the header file from resource file  without building the entire application ?

    Yes, whatever bmake does, you can do also manually. It's nothing else than using compilers (rcomp.exe etc.) from command line. But it's also wrong idea, because correctly written mke/mki files have to do it for you.

    Regards,

      Jan

  • Hi Jan, 

    this is how my mke file is defined. sew_cmd.h is defined as a dependency file. Is that a problem ?

    You have to check project mke / mki files how .h file from .r file is defined.

    #---------------------------------------------
    # MDL Include file dependencies
    #---------------------------------------------
    #
    dbIncl = $(includeDir)sewernet.h \
    $(includeDir)dbdefine.h \
    $(includeDir)dbhdr.h \
    $(includeDir)dbtyp.h \
    $(includeDir)sewelems.h

    rscIncl = $(includeDir)sew_typ.h \
    $(includeDir)sew_ids.h \
    $(dbIncl)

    cmdIncl = $(includeDir)sew_cmd.h


    #---------------------------------------------
    # MDL Resource files
    #---------------------------------------------
    #
    sewRscs = $(objectDir)sew_cmd.rsc \
    $(objectDir)sew_typ.rsc \
    $(objectDir)sew_msg.rsc \
    $(objectDir)sew_dlg.rsc \
    $(objectDir)sew_pal.rsc \
    $(objectDir)sewmesdb.rsc \
    $(objectDir)sewfault.rsc \
    $(objectDir)sew_link.rsc \
    $(objectDir)sew_dll.rsc

    #---------------------------------------------
    # Generate Dll start point
    #---------------------------------------------
    #
    $(objectDir)sew_dll.rsc : $(resourceDir)sew_dll.r

    #---------------------------------------------
    # Generate Command Tables
    #---------------------------------------------
    #
    $(includeDir)Sew_cmd.h : $(resourceDir)sew_cmd.r $(ResourceDir)sew_msg.r

    $(objectDir)sew_cmd.rsc : $(resourceDir)sew_cmd.r $(ResourceDir)sew_msg.r


    #---------------------------------------------
    # Merge Objects into one file
    #---------------------------------------------
    #
    $(applicDir)Sewernet.ma : $(sewRscs)
    $(msg)
    >$(objectDir)temp.cmd
    -o$@
    $(sewRscs)
    <
    $(RLibCmd) @$(objectDir)temp.cmd
    ~time

  • this is how my mke file is defined.

    Please! Follow the best practices and always use Insert > Insert code tool every time you share any code snippet. To read code posted as plain text is confusing.

    sew_cmd.h is defined as a dependency file

    When it is used in source code, it should be defined as dependency file.

    this is how my mke file is defined.

    I assume it's not complete file, because I do not see e.g. how source code file (.mc / .c  /.cpp) are compiled. Also, some standard declarations, typically used in mke files (e.g. in SDK examples) are not there, plus I am not sure why such header file dependency is defined. But it's about personal preferences.

    Because header file is generated using this rule

    $(includeDir)Sew_cmd.h : $(resourceDir)sew_cmd.r $(ResourceDir)sew_msg.r

    did you check whether:

    • It's really created in $(includeDir)?
      BTW The command ids header file is not usually created in "include dir", but in objects folder, because it's treated as "compilation runtime object", nothing that should be stored (e.g. in Git) with other source files.
    • Folders, used to search for header files, are configured properly?

    Also, did you start bmake in verbose mode and analyze output log file? Be aware that also individual compilers (like rcomp.exe) can be started in verbose mode to obtain more detail output.

    Regards,

      Jan

  • this is how my mke file is defined

    No — it's an extract from your bmake file.  Why not just post the file?

    You define your command table in an MDL resource (*.r) file.  The Bentley resource compiler (rcomp) is invoked twice: once to to create the command header (*.h) file, and a second time build the binary command table in a .rsc file.

    The command header file is typically #included several times in your MDL.   It's used in the C/C++ implementation code that defines your commands, and it may be used in user interface widgets, such as menus and push-buttons, that invoke your commands.  The command header file is disposable, since it can be regenerated by using rcomp on your table definition (*.r) file.

    Your bmake file must include mdl.mki, which defines a set of make rules. Each rule invokes the appropriate compiler or linker, and the application of all rules in your bmake file builds your final app.

     
    Regards, Jon Summers
    LA Solutions

  • No — it's an extract from your bmake file.  Why not just post the file?

    Hi Jon, 

    This is the full content from my mke file. 

    #---------------------------------------------
    #  BSI definitions
    #---------------------------------------------
    #
    %include $(MS)/mdl/include/mdl.mki
    
    
    #---------------------------------------------
    #  Define directories
    #---------------------------------------------
    #
    
    baseDir 	= ./
    
    includeDir	= $(baseDir)include/
    resourceDir  	= $(baseDir)mdlresource/
    
    %ifdef debug
    config		= Debug
    %else
    config		= Release
    %endif
    
    #----------------------------------------------------------------------
    # Where to put the object files
    #----------------------------------------------------------------------
    
    %if defined (MDLOBJECTDIR)
    objectDir 	= $(OBJECTDRV)$(MDLOBJECTDIR)/Sewernet/$(config)/
    %else
    objectDir 	= ./objects/$(config)/
    %endif
    
    # Create object directory if it doesn't exist
    $(objectDir)$(tstdir)	: $(objectDir)$(tstdir)
    
    #----------------------------------------------------------------------
    # Where to put the compiled application file
    #----------------------------------------------------------------------
    
    applicDir 	= $(objectDir)Output/
    
    # Create output directory if it doesn't exist
    $(applicDir)$(tstdir)	: $(applicDir)$(tstdir)
    
    #------------------------------------------------
    #	Additional include paths for MDL compiler
    #------------------------------------------------
    altIncs + -i$(includeDir)
    
    #---------------------------------------------
    #  Debug
    #---------------------------------------------
    #
    %ifdef debug
    compopts + -ddebug
    rcompopts + -ddebug
    %endif
    
    
    #---------------------------------------------
    #  MDL Include file dependencies
    #---------------------------------------------
    #
    dbIncl		  = $(includeDir)sewernet.h \
    				$(includeDir)dbdefine.h	\
    				$(includeDir)dbhdr.h    \
    				$(includeDir)dbtyp.h	\
    				$(includeDir)sewelems.h
    				  
    rscIncl 	  = $(includeDir)sew_typ.h \
    				$(includeDir)sew_ids.h	\
    				$(dbIncl) 
    
    cmdIncl 	  = $(includeDir)sew_cmd.h
    
    
    #---------------------------------------------
    #  MDL Resource files
    #---------------------------------------------
    #
    sewRscs  =	 $(objectDir)sew_cmd.rsc 	  \
    			 $(objectDir)sew_typ.rsc 	\
    			 $(objectDir)sew_msg.rsc 	\
    			 $(objectDir)sew_dlg.rsc 	\
    			 $(objectDir)sew_pal.rsc 	\
    			 $(objectDir)sewmesdb.rsc	\
    			 $(objectDir)delete.rsc		\
    			 $(objectDir)analyze.rsc 	\
    			 $(objectDir)pipedefn.rsc	\
    			 $(objectDir)project.rsc 	\
    			 $(objectDir)symbology.rsc	\
    			 $(objectDir)section.rsc	\
    			 $(objectDir)labelformat.rsc  	\
    			 $(objectDir)rootnode.rsc	\
    			 $(objectDir)sewfault.rsc	\
    			 $(objectDir)latitude.rsc	\
    			 $(objectDir)find.rsc		\
    			 $(objectDir)sew_link.rsc	\
    			 $(objectDir)hydrowks.rsc	\
    			 $(objectDir)listing.rsc	\
    			 $(objectDir)sew_dll.rsc
    
    #---------------------------------------------
    #  Generate Dll start point
    #---------------------------------------------
    #
    $(objectDir)sew_dll.rsc	: $(resourceDir)sew_dll.r
    
    #---------------------------------------------
    #  Generate Command Tables
    #---------------------------------------------
    #
    $(includeDir)Sew_cmd.h	 : $(resourceDir)sew_cmd.r $(ResourceDir)sew_msg.r
    
    $(objectDir)sew_cmd.rsc	: $(resourceDir)sew_cmd.r $(ResourceDir)sew_msg.r
    
    
    #---------------------------------------------
    #  Compile Dialog Resources
    #---------------------------------------------
    #
    $(objectDir)sew_dlg.rsc	    : $(resourceDir)sew_dlg.r	  $(rscIncl) $(cmdIncl)
    
    $(objectDir)sew_pal.rsc	    : $(resourceDir)sew_pal.r	  $(rscIncl) $(cmdIncl)
    
    $(objectDir)sewmesdb.rsc    : $(resourceDir)sewmesdb.r	  $(rscIncl)
    
    $(objectDir)analyze.rsc	    : $(resourceDir)analyze.r	  $(rscIncl) $(cmdIncl)
    
    $(objectDir)delete.rsc	    : $(resourceDir)delete.r 	  $(rscIncl)
    
    $(objectDir)pipedefn.rsc    : $(resourceDir)pipedefn.r	  $(rscIncl)
    
    $(objectDir)project.rsc	    : $(resourceDir)project.r	  $(rscIncl)
    
    $(objectDir)symbology.rsc   : $(resourceDir)symbology.r	  $(rscIncl)
    
    $(objectDir)section.rsc	    : $(resourceDir)section.r	  $(rscIncl)
    
    $(objectDir)labelformat.rsc : $(resourceDir)labelformat.r $(rscIncl)
    
    $(objectDir)rootnode.rsc    : $(resourceDir)rootnode.r	  $(rscIncl)
    
    $(objectDir)sewfault.rsc    : $(resourceDir)sewfault.r	  $(rscIncl)
    
    $(objectDir)latitude.rsc    : $(resourceDir)latitude.r	  $(rscIncl)
    
    $(objectDir)sew_link.rsc    : $(resourceDir)sew_link.r	  $(rscIncl)
    
    $(objectDir)hydrowks.rsc    : $(resourceDir)hydrowks.r	  $(rscIncl)
    
    $(objectDir)listing.rsc     : $(resourceDir)listing.r	  $(rscIncl)
    
    $(objectDir)find.rsc 	    : $(resourceDir)find.r	  $(rscIncl)
    
    
    #---------------------------------------------
    #  Prompts and command numbers
    #---------------------------------------------
    #	Don't generate an include file for the prompts and command numbers
    #
    $(objectDir)sew_msg.rsc	 : $(resourceDir)sew_msg.r $(includeDir)sew_ids.h
    
    
    #---------------------------------------------
    #  Make resource to publish structure(s)
    #---------------------------------------------
    #
    $(objectDir)sew_typ.r	 : $(resourceDir)sew_typ.mt $(rscIncl) $(dbIncl)
    
    $(objectDir)sew_typ.rsc	 : $(objectDir)sew_typ.r
    
    
    #---------------------------------------------
    #  Merge Objects into one file
    #---------------------------------------------
    #
    $(applicDir)Sewernet.ma	 : $(sewRscs)
       $(msg)	
       >$(objectDir)temp.cmd
       -o$@
       $(sewRscs)
       <
       $(RLibCmd) @$(objectDir)temp.cmd
       ~time
    
    

    does it look good ? I've checked includedir but there's no header file generated. 

  • I've checked includedir but there's no header file generated. 

    Did you do what I recommended? ... to run bmake in verbose mode to log the whole building process?

    The only way how to solve problem(s) is to test things. Reading code can help only with bugs and problems that are obvious.

    Regards,

      Jan

Reply Children
  • Did you do what I recommended? ... to run bmake in verbose mode to log the whole building process?

    Yes I did but I don't understand what is reported in the log. It simply says the header file is missing and nothing more. I don't see any reference to where it loads up these cpp files or .r files. I have attached my build log here. if you can shed some light please

    BuildLog.htm
    <html>
    <head>
    <META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-16">
    </head>
    <body>
    <pre>
    <table width=100% bgcolor=#CFCFE5><tr> <td> <font face=arial size=+3>
    Build Log
    </font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5>&nbsp;</td><td width=0 bgcolor=#FFFFFF>&nbsp;</td><td width=*><pre>
    <h3>Rebuild started: Project: Sewernet, Configuration: Debug|Win32</h3>
    </pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2>
    Command Lines
    </font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5>&nbsp;</td><td width=0 bgcolor=#FFFFFF>&nbsp;</td><td width=*><pre>Creating temporary file "O:\CppObjects\Sewernet\Debug\RSP000052154329220.rsp" with contents
    [
    /Od /I &quot;C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\\mdl\include&quot; /I &quot;..\include&quot; /I &quot;..\adoserver&quot; /I &quot;..\daoserver&quot; /I &quot;..\adoserver\adorecordsets&quot; /I &quot;..\daoserver\daorecordsets&quot; /D &quot;_DEBUG&quot; /D &quot;WIN32&quot; /D &quot;_WINDOWS&quot; /D &quot;_USRDLL&quot; /D &quot;winNT&quot; /D &quot;_CRT_SECURE_NO_DEPRECATE&quot; /D &quot;_VC80_UPGRADE=0x0600&quot; /D &quot;_WINDLL&quot; /D &quot;_AFXDLL&quot; /Gm /EHsc /MDd /Yu&quot;stdafx.h&quot; /Fp&quot;O:/CppObjects/Sewernet/Debug/Sewernet.pch&quot; /Fo&quot;O:/CppObjects/Sewernet/Debug/&quot; /Fd&quot;O:/CppObjects/Sewernet/Debug/&quot; /FR&quot;O:/CppObjects/Sewernet/Debug\\&quot; /W3 /c /ZI /TP ..\MdlCode\Z_height.cpp
    
    ..\MdlCode\Validprj.cpp
    
    ..\MdlCode\Updatver.cpp
    
    ..\MdlCode\Updat_gr.cpp
    
    ..\MdlCode\Traceflo.cpp
    
    ..\MdlCode\Textsize.cpp
    
    ..\MdlCode\Summary.cpp
    
    ..\MdlCode\Sewvalid.cpp
    
    ..\MdlCode\Sewreprt.cpp
    
    ..\MdlCode\Sewinit.cpp
    
    ..\MdlCode\Sewfunc.cpp
    
    ..\MdlCode\Sewflow.cpp
    
    ..\MdlCode\Sewfault.cpp
    
    ..\MdlCode\Sewernet.cpp
    
    .\Sewdlm.cpp
    
    ..\MdlCode\Sewdesgn.cpp
    
    ..\MdlCode\Sewcatch.cpp
    
    ..\MdlCode\Sewbatch.cpp
    
    ..\MdlCode\Sew_dist.cpp
    
    ..\MdlCode\Section.cpp
    
    ..\MdlCode\Saveas.cpp
    
    ..\MdlCode\Rescale.cpp
    
    ..\MdlCode\Relabel.cpp
    
    ..\MdlCode\Prune.cpp
    
    ..\MdlCode\Proximity.cpp
    
    ..\MdlCode\Point.cpp
    
    ..\MdlCode\Pipedefn.cpp
    
    ..\MdlCode\Pat_sew.cpp
    
    ..\MdlCode\Pat_perc.cpp
    
    ..\MdlCode\Pat_park.cpp
    
    ..\MdlCode\Pat_luse.cpp
    
    ..\MdlCode\Pat_flow.cpp
    
    ..\MdlCode\NodeXY.cpp
    
    ..\MdlCode\Node.cpp
    
    ..\MdlCode\Msg2File.cpp
    
    ..\MdlCode\Movepoint.cpp
    
    ..\MdlCode\Movenode.cpp
    
    ..\MdlCode\Movelink.cpp
    
    ..\MdlCode\Movelabl.cpp
    
    ..\MdlCode\Mod_vert.cpp
    
    ..\MdlCode\Locatprj.cpp
    
    ..\MdlCode\Loc_sew.cpp
    
    ..\MdlCode\Loadlevl.cpp
    
    ..\MdlCode\Load_res.cpp
    
    ..\MdlCode\Listing.cpp
    
    ..\MdlCode\Linkflip.cpp
    
    ..\MdlCode\Link.cpp
    
    ..\MdlCode\Labelfnc.cpp
    
    ..\MdlCode\Insertnode.cpp
    
    ..\MdlCode\Ins_vert.cpp
    
    ..\MdlCode\ImportSew.cpp
    
    ..\MdlCode\Import.cpp
    
    ..\MdlCode\Hydrowks.cpp
    
    ..\MdlResource\Hooks\Hookfunc.cpp
    
    ..\MdlCode\Graft.cpp
    
    ..\MdlCode\G2d.cpp
    
    ..\MdlCode\Fixdirect.cpp
    
    ..\MdlCode\Fixbrnch.cpp
    
    ..\MdlCode\Delete.cpp
    
    ..\MdlCode\Del_vert.cpp
    
    ..\MdlCode\Dbupdate.cpp
    
    ..\MdlCode\Database.cpp
    
    ..\MdlCode\D2g.cpp
    
    ..\MdlCode\Creatprj.cpp
    
    ..\MdlCode\Chckconn.cpp
    
    ..\MdlCode\Backuprj.cpp
    
    ..\MdlCode\Analyze.cpp
    
    ..\MdlCode\Alignlbl.cpp
    ]
    Creating command line "cl.exe @O:\CppObjects\Sewernet\Debug\RSP000052154329220.rsp /nologo /errorReport:prompt"
    Creating temporary file "O:\CppObjects\Sewernet\Debug\RSP000053154329220.rsp" with contents
    [
    /Od /I &quot;C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\\mdl\include&quot; /I &quot;..\include&quot; /I &quot;..\adoserver&quot; /I &quot;..\daoserver&quot; /I &quot;..\adoserver\adorecordsets&quot; /I &quot;..\daoserver\daorecordsets&quot; /D &quot;_DEBUG&quot; /D &quot;WIN32&quot; /D &quot;_WINDOWS&quot; /D &quot;_USRDLL&quot; /D &quot;winNT&quot; /D &quot;_CRT_SECURE_NO_DEPRECATE&quot; /D &quot;_VC80_UPGRADE=0x0600&quot; /D &quot;_WINDLL&quot; /D &quot;_AFXDLL&quot; /Gm /EHsc /MDd /Yc&quot;stdafx.h&quot; /Fp&quot;O:/CppObjects/Sewernet/Debug/Sewernet.pch&quot; /Fo&quot;O:/CppObjects/Sewernet/Debug/&quot; /Fd&quot;O:/CppObjects/Sewernet/Debug/&quot; /FR&quot;O:/CppObjects/Sewernet/Debug\\&quot; /W3 /c /ZI /TP .\StdAfx.cpp
    ]
    Creating command line "cl.exe @O:\CppObjects\Sewernet\Debug\RSP000053154329220.rsp /nologo /errorReport:prompt"
    Creating temporary file "O:\CppObjects\Sewernet\Debug\RSP000054154329220.rsp" with contents
    [
    /Od /I &quot;C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\\mdl\include&quot; /I &quot;..\include&quot; /I &quot;..\adoserver&quot; /I &quot;..\daoserver&quot; /I &quot;..\adoserver\adorecordsets&quot; /I &quot;..\daoserver\daorecordsets&quot; /D &quot;_DEBUG&quot; /D &quot;WIN32&quot; /D &quot;_WINDOWS&quot; /D &quot;_USRDLL&quot; /D &quot;winNT&quot; /D &quot;_CRT_SECURE_NO_DEPRECATE&quot; /D &quot;_VC80_UPGRADE=0x0600&quot; /D &quot;_WINDLL&quot; /D &quot;_AFXDLL&quot; /Gm /EHsc /MDd /Fp&quot;O:/CppObjects/Sewernet/Debug/Sewernet.pch&quot; /Fo&quot;O:/CppObjects/Sewernet/Debug/&quot; /Fd&quot;O:/CppObjects/Sewernet/Debug/&quot; /FR&quot;O:/CppObjects/Sewernet/Debug\\&quot; /W3 /c /ZI /TP ..\MdlCode\Ptin_ply.cpp
    
    ..\MdlCode\Calc_hgt.cpp
    
    ..\MdlCode\Bin_srch.cpp
    ]
    Creating command line "cl.exe @O:\CppObjects\Sewernet\Debug\RSP000054154329220.rsp /nologo /errorReport:prompt"
    Creating temporary file "O:\CppObjects\Sewernet\Debug\RSP000055154329220.rsp" with contents
    [
    /Od /I &quot;C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\\mdl\include&quot; /I &quot;..\include&quot; /I &quot;..\adoserver&quot; /I &quot;..\daoserver&quot; /I &quot;..\adoserver\adorecordsets&quot; /I &quot;..\daoserver\daorecordsets&quot; /D &quot;WINVER=0x0501&quot; /D &quot;_DEBUG&quot; /D &quot;WIN32&quot; /D &quot;_WINDOWS&quot; /D &quot;_USRDLL&quot; /D &quot;winNT&quot; /D &quot;_CRT_SECURE_NO_DEPRECATE&quot; /D &quot;_VC80_UPGRADE=0x0600&quot; /D &quot;_WINDLL&quot; /D &quot;_AFXDLL&quot; /Gm /EHsc /MDd /Fp&quot;O:/CppObjects/Sewernet/Debug/Sewernet.pch&quot; /Fo&quot;O:/CppObjects/Sewernet/Debug/&quot; /Fd&quot;O:/CppObjects/Sewernet/Debug/&quot; /FR&quot;O:/CppObjects/Sewernet/Debug\\&quot; /W3 /c /ZI /TP ..\MdlCode\Grid_utl.cpp
    ]
    Creating command line "cl.exe @O:\CppObjects\Sewernet\Debug\RSP000055154329220.rsp /nologo /errorReport:prompt"
    Creating temporary file "O:\CppObjects\Sewernet\Debug\RSP000056154329220.rsp" with contents
    [
    /o &quot;O:/CppObjects/Sewernet/Debug/Output/Sewernet.bsc&quot;
    
    o:\CppObjects\Sewernet\Debug\Analyze.sbr
    
    o:\CppObjects\Sewernet\Debug\Backuprj.sbr
    
    o:\CppObjects\Sewernet\Debug\Bin_srch.sbr
    
    o:\CppObjects\Sewernet\Debug\Calc_hgt.sbr
    
    o:\CppObjects\Sewernet\Debug\Chckconn.sbr
    
    o:\CppObjects\Sewernet\Debug\Creatprj.sbr
    
    o:\CppObjects\Sewernet\Debug\D2g.sbr
    
    o:\CppObjects\Sewernet\Debug\Database.sbr
    
    o:\CppObjects\Sewernet\Debug\Dbupdate.sbr
    
    o:\CppObjects\Sewernet\Debug\Del_vert.sbr
    
    o:\CppObjects\Sewernet\Debug\Delete.sbr
    
    o:\CppObjects\Sewernet\Debug\Fixbrnch.sbr
    
    o:\CppObjects\Sewernet\Debug\Fixdirect.sbr
    
    o:\CppObjects\Sewernet\Debug\G2d.sbr
    
    o:\CppObjects\Sewernet\Debug\Graft.sbr
    
    o:\CppObjects\Sewernet\Debug\Grid_utl.sbr
    
    o:\CppObjects\Sewernet\Debug\Hookfunc.sbr
    
    o:\CppObjects\Sewernet\Debug\Hydrowks.sbr
    
    o:\CppObjects\Sewernet\Debug\Import.sbr
    
    o:\CppObjects\Sewernet\Debug\ImportSew.sbr
    
    o:\CppObjects\Sewernet\Debug\Ins_vert.sbr
    
    o:\CppObjects\Sewernet\Debug\Insertnode.sbr
    
    o:\CppObjects\Sewernet\Debug\Labelfnc.sbr
    
    o:\CppObjects\Sewernet\Debug\Link.sbr
    
    o:\CppObjects\Sewernet\Debug\Linkflip.sbr
    
    o:\CppObjects\Sewernet\Debug\Listing.sbr
    
    o:\CppObjects\Sewernet\Debug\Load_res.sbr
    
    o:\CppObjects\Sewernet\Debug\Loadlevl.sbr
    
    o:\CppObjects\Sewernet\Debug\Loc_sew.sbr
    
    o:\CppObjects\Sewernet\Debug\Locatprj.sbr
    
    o:\CppObjects\Sewernet\Debug\Mod_vert.sbr
    
    o:\CppObjects\Sewernet\Debug\Movelabl.sbr
    
    o:\CppObjects\Sewernet\Debug\Movelink.sbr
    
    o:\CppObjects\Sewernet\Debug\Movenode.sbr
    
    o:\CppObjects\Sewernet\Debug\Movepoint.sbr
    
    o:\CppObjects\Sewernet\Debug\Msg2File.sbr
    
    o:\CppObjects\Sewernet\Debug\Node.sbr
    
    o:\CppObjects\Sewernet\Debug\NodeXY.sbr
    
    o:\CppObjects\Sewernet\Debug\Pat_flow.sbr
    
    o:\CppObjects\Sewernet\Debug\Pat_luse.sbr
    
    o:\CppObjects\Sewernet\Debug\Pat_park.sbr
    
    o:\CppObjects\Sewernet\Debug\Pat_perc.sbr
    
    o:\CppObjects\Sewernet\Debug\Pat_sew.sbr
    
    o:\CppObjects\Sewernet\Debug\Pipedefn.sbr
    
    o:\CppObjects\Sewernet\Debug\Point.sbr
    
    o:\CppObjects\Sewernet\Debug\Proximity.sbr
    
    o:\CppObjects\Sewernet\Debug\Prune.sbr
    
    o:\CppObjects\Sewernet\Debug\Ptin_ply.sbr
    
    o:\CppObjects\Sewernet\Debug\Relabel.sbr
    
    o:\CppObjects\Sewernet\Debug\Rescale.sbr
    
    o:\CppObjects\Sewernet\Debug\Saveas.sbr
    
    o:\CppObjects\Sewernet\Debug\Section.sbr
    
    o:\CppObjects\Sewernet\Debug\Sew_dist.sbr
    
    o:\CppObjects\Sewernet\Debug\Sewbatch.sbr
    
    o:\CppObjects\Sewernet\Debug\Sewcatch.sbr
    
    o:\CppObjects\Sewernet\Debug\Sewdesgn.sbr
    
    o:\CppObjects\Sewernet\Debug\Sewdlm.sbr
    
    o:\CppObjects\Sewernet\Debug\Sewernet.sbr
    
    o:\CppObjects\Sewernet\Debug\Sewfault.sbr
    
    o:\CppObjects\Sewernet\Debug\Sewflow.sbr
    
    o:\CppObjects\Sewernet\Debug\Sewfunc.sbr
    
    o:\CppObjects\Sewernet\Debug\Sewinit.sbr
    
    o:\CppObjects\Sewernet\Debug\Sewreprt.sbr
    
    o:\CppObjects\Sewernet\Debug\Sewvalid.sbr
    
    o:\CppObjects\Sewernet\Debug\StdAfx.sbr
    
    o:\CppObjects\Sewernet\Debug\Summary.sbr
    
    o:\CppObjects\Sewernet\Debug\Textsize.sbr
    
    o:\CppObjects\Sewernet\Debug\Traceflo.sbr
    
    o:\CppObjects\Sewernet\Debug\Updat_gr.sbr
    
    o:\CppObjects\Sewernet\Debug\Updatver.sbr
    
    o:\CppObjects\Sewernet\Debug\Validprj.sbr
    
    o:\CppObjects\Sewernet\Debug\Z_height.sbr
    
    o:\CppObjects\Sewernet\Debug\Alignlbl.sbr
    ]
    Creating command line "bscmake.exe @O:\CppObjects\Sewernet\Debug\RSP000056154329220.rsp /nologo"
    </pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2>
    Output Window
    </font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5>&nbsp;</td><td width=0 bgcolor=#FFFFFF>&nbsp;</td><td width=*><pre>Compiling...
    StdAfx.cpp
    Compiling...
    Alignlbl.cpp
    c:\mstation\sewernet\mdlcode\alignlbl.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Analyze.cpp
    c:\mstation\sewernet\mdlcode\analyze.cpp(21) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Backuprj.cpp
    c:\mstation\sewernet\mdlcode\backuprj.cpp(22) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Chckconn.cpp
    c:\mstation\sewernet\mdlcode\chckconn.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Creatprj.cpp
    c:\mstation\sewernet\mdlcode\creatprj.cpp(21) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    D2g.cpp
    c:\mstation\sewernet\mdlcode\d2g.cpp(21) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Database.cpp
    c:\mstation\sewernet\mdlcode\database.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Dbupdate.cpp
    c:\mstation\sewernet\mdlcode\dbupdate.cpp(20) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Del_vert.cpp
    c:\mstation\sewernet\mdlcode\del_vert.cpp(21) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Delete.cpp
    c:\mstation\sewernet\mdlcode\delete.cpp(21) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Fixbrnch.cpp
    c:\mstation\sewernet\mdlcode\fixbrnch.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Fixdirect.cpp
    c:\mstation\sewernet\mdlcode\fixdirect.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    G2d.cpp
    c:\mstation\sewernet\mdlcode\g2d.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Graft.cpp
    c:\mstation\sewernet\mdlcode\graft.cpp(17) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Hookfunc.cpp
    c:\mstation\sewernet\mdlresource\hooks\hookfunc.cpp(23) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Hydrowks.cpp
    c:\mstation\sewernet\mdlcode\hydrowks.cpp(21) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Import.cpp
    c:\mstation\sewernet\mdlcode\import.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    ImportSew.cpp
    c:\mstation\sewernet\mdlcode\importsew.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Ins_vert.cpp
    c:\mstation\sewernet\mdlcode\ins_vert.cpp(21) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Insertnode.cpp
    c:\mstation\sewernet\mdlcode\insertnode.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Generating Code...
    Compiling...
    Labelfnc.cpp
    c:\mstation\sewernet\mdlcode\labelfnc.cpp(21) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Link.cpp
    c:\mstation\sewernet\mdlcode\link.cpp(21) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Linkflip.cpp
    c:\mstation\sewernet\mdlcode\linkflip.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Listing.cpp
    c:\mstation\sewernet\mdlcode\listing.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Load_res.cpp
    c:\mstation\sewernet\mdlcode\load_res.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Loadlevl.cpp
    c:\mstation\sewernet\mdlcode\loadlevl.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Loc_sew.cpp
    c:\mstation\sewernet\mdlcode\loc_sew.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Locatprj.cpp
    c:\mstation\sewernet\mdlcode\locatprj.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Mod_vert.cpp
    c:\mstation\sewernet\mdlcode\mod_vert.cpp(21) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Movelabl.cpp
    c:\mstation\sewernet\mdlcode\movelabl.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Movelink.cpp
    c:\mstation\sewernet\mdlcode\movelink.cpp(21) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Movenode.cpp
    c:\mstation\sewernet\mdlcode\movenode.cpp(21) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Movepoint.cpp
    c:\mstation\sewernet\mdlcode\movepoint.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Msg2File.cpp
    c:\mstation\sewernet\mdlcode\msg2file.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Node.cpp
    c:\mstation\sewernet\mdlcode\node.cpp(21) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    NodeXY.cpp
    c:\mstation\sewernet\mdlcode\nodexy.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Pat_flow.cpp
    c:\mstation\sewernet\mdlcode\pat_flow.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Pat_luse.cpp
    c:\mstation\sewernet\mdlcode\pat_luse.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Pat_park.cpp
    c:\mstation\sewernet\mdlcode\pat_park.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Pat_perc.cpp
    c:\mstation\sewernet\mdlcode\pat_perc.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Generating Code...
    Compiling...
    Pat_sew.cpp
    c:\mstation\sewernet\mdlcode\pat_sew.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Pipedefn.cpp
    c:\mstation\sewernet\mdlcode\pipedefn.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Point.cpp
    c:\mstation\sewernet\mdlcode\point.cpp(21) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Proximity.cpp
    c:\mstation\sewernet\mdlcode\proximity.cpp(21) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Prune.cpp
    c:\mstation\sewernet\mdlcode\prune.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Relabel.cpp
    c:\mstation\sewernet\mdlcode\relabel.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Rescale.cpp
    c:\mstation\sewernet\mdlcode\rescale.cpp(21) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Saveas.cpp
    c:\mstation\sewernet\mdlcode\saveas.cpp(22) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Section.cpp
    c:\mstation\sewernet\mdlcode\section.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Sew_dist.cpp
    c:\mstation\sewernet\mdlcode\sew_dist.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Sewbatch.cpp
    c:\mstation\sewernet\mdlcode\sewbatch.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Sewcatch.cpp
    c:\mstation\sewernet\mdlcode\sewcatch.cpp(22) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Sewdesgn.cpp
    c:\mstation\sewernet\mdlcode\sewdesgn.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Sewdlm.cpp
    Sewernet.cpp
    c:\mstation\sewernet\mdlcode\sewernet.cpp(189) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Sewfault.cpp
    c:\mstation\sewernet\mdlcode\sewfault.cpp(21) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Sewflow.cpp
    c:\mstation\sewernet\mdlcode\sewflow.cpp(21) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Sewfunc.cpp
    c:\mstation\sewernet\mdlcode\sewfunc.cpp(21) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Sewinit.cpp
    c:\mstation\sewernet\mdlcode\sewinit.cpp(21) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Sewreprt.cpp
    c:\mstation\sewernet\mdlcode\sewreprt.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Generating Code...
    Compiling...
    Sewvalid.cpp
    c:\mstation\sewernet\mdlcode\sewvalid.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Summary.cpp
    c:\mstation\sewernet\mdlcode\summary.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Textsize.cpp
    c:\mstation\sewernet\mdlcode\textsize.cpp(29) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Traceflo.cpp
    c:\mstation\sewernet\mdlcode\traceflo.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Updat_gr.cpp
    c:\mstation\sewernet\mdlcode\updat_gr.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Updatver.cpp
    c:\mstation\sewernet\mdlcode\updatver.cpp(54) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Validprj.cpp
    c:\mstation\sewernet\mdlcode\validprj.cpp(22) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Z_height.cpp
    c:\mstation\sewernet\mdlcode\z_height.cpp(16) : fatal error C1083: Cannot open include file: 'sew_cmd.h': No such file or directory
    Generating Code...
    Creating browse information file...
    Microsoft Browse Information Maintenance Utility Version 8.00.50727
    Copyright (C) Microsoft Corporation. All rights reserved.
    BSCMAKE: error BK1506 : cannot open file 'o:\CppObjects\Sewernet\Debug\Analyze.sbr': No such file or directory
    </pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2>
    Results
    </font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5>&nbsp;</td><td width=0 bgcolor=#FFFFFF>&nbsp;</td><td width=*><pre>Build log was saved at "file://O:\CppObjects\Sewernet\Debug\BuildLog.htm"
    Sewernet - 68 error(s), 0 warning(s)
    </pre></table><table   width=100% height=20 bgcolor=#CFCFE5><tr><td><font face=arial size=+2>
    </font></table></body></html>

    My VS project build process makes a call to bmake through a bat file and the contents of the bat file is below and that is where I've set the verbose option. Please suggest if that's not where I should set it.

    @echo off
    
    set BMAKE_OPT= -v -I%MS%\mdl\include -I%MS%\jmdl\include
    set PATH=;%MS%;%MS%\mdl\bin;%MS%\jmdl\bin;%PATH%
    set CLASSPATH=.;%MS%\jmdl\lib\rt.jar;%MS%\jmdl\lib\jmdlsdk.jar;%MS%\jmdl\lib\swingall.jar;%MS%\jmdl\lib\bentley.jar;%MS%\jmdl;%CLASSPATH%
    set MLINK_STDLIB=%MS%\mdl\library\builtin.dlo %MS%\mdl\library\dgnfileio.dlo %MS%\mdl\library\toolsubs.dlo
    
    bmake sewernet.mke %1
    exit
    

  • Hi Kalyan,

    My VS project build process makes a call to bmake through a bat file

    I am confused. So far I thought that your project is built (completely) by bmake. But it seems (and it was not described clearly yet) that you have two separate projects: bmake/mke for resources and VisualC make for native code. It's possible, but I dislike a lot such approach. When bmake is used (because it has to be), why not to use it for everything?

    I would expect bmake is called as the first step, because its results are used by cpp/h files later.

    I have attached my build log here.

    This is not bmake log file! What you posted is (or it seems to be) VisualC compiler log file, which is something very different. Did you realize there is not any call of bmake.exe or .mke file mentioned in your log?

    Yes I did

    Sorry, you did not. It seems on your side a misunderstanding of how build process work and how to distinguish between VisualC compilation/linking and bmake resources compilation/linking exists.

    How do I check if this is happening during the build process ?

    Isn't it why log files exist and why they are generated?

    I suspect rcomp is somehow not able to see the following command table rules

    rcomp is not aware of anything, it's responsibility of bmake to call right tools with right configuration and files. But from your VisualC log it seems that bmake is not called at all. It's not clear how your project is configured and how it's expected it should work. As I wrote above, it's overcomplicated configuration in my opinion.

    and that is where I've set the verbose option.

    Yes, -v switch is the right one, but because you did not provide any log from bmake process, it's hard to guess whether it works fine.

    Did you try to start bmake manually?

    As an example, attached is bmake log file created for "basic" example delivered with MicroStation SDK. It was created using this key-in.

    bmake -v basic.mke > bmake.log

    There is also -v switch that can be used to rcomp.exe to receive verbose log not from build process, but from resources compilation process, but it's useful when make file is fine, but from some reason only specific compilation or linking does not work.

    Honestly, I am not sure what is the best solution. To configure Visual Studio 2005 to do compilation right is quite complicated and as far as I remember has to be done at several places, so I am not able to say what to check. But at least, you have to ensure:

    • make file is processed correctly and all necessary files are created when started manually
    • It's called as the first step by Visual Studio.

    With regards,

      Jan

    bmake.log
    Macro: BMAKE_ARGS=-IC:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include -v 
    Macro: basic.mke__=(none)
    Bentley Systems Make Utility. Version 08.11.09.04, Feb 10 2014
    Wed Sep 30 08:01:22 2020
    Macro (basic.mke:0): %=$%
    Macro (basic.mke:0): $%=$%
    Macro (basic.mke:0): %=$%
    Macro (basic.mke:0): $%=$%
    Macro (basic.mke:0): winNT=(none)
    Macro (basic.mke:0): MSBuildVersion=350
    Macro (basic.mke:0): TaskMultiTargetingToolsVersion=3.5
    Macro (basic.mke:0): _X86_=(none)
    Macro (basic.mke:0): _MakeFileSpec=C:\Users\Jan�legr\Documents\MDLPRO~1\basic\basic.mke
    Macro (basic.mke:0): _MakeFilePath=C:\Users\Jan�legr\Documents\MDLPRO~1\basic\
    Macro (basic.mke:0): _MakeFileName=basic
    Macro (basic.mke:0): _MakeFileExt=.mke
    Macro (basic.mke:0): _MakeFile=basic.mke
    Macro (basic.mke:0): _bmake=bmake
    Macro (basic.mke:0): _bmake_V08=1
    Macro (basic.mke:9): appName=basic
    Macro (basic.mke:14): privateInc=$(BaseDir)
    Include: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\mdl.mki from line 20 of C:\Users\Jan�legr\Documents\MDLProjects V8i (SELECTseries 3)\basic\basic.mke
    Macro (mdl.mki:17): __mdlMKI__=1
    Macro (mdl.mki:22): platform=winnt
    Macro (mdl.mki:23): platformDir=$(platform)\
    Include: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\ConfigurePolicy.mki from line 28 of C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\mdl.mki
    Macro (ConfigurePolicy.mki:15): __ConfigurePolicy_mki__=1
    Include: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl/include/MdlSdkPolicyFileNames.mki from line 59 of C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\ConfigurePolicy.mki
    Macro (mdl/include/MdlSdkPolicyFileNames.mki:21): PublicMicroStationPolicy=$(MSMDE)mdl\include\AssertPublicMicroStationPolicy.mki
    Macro (mdl/include/MdlSdkPolicyFileNames.mki:22): SystemPolicy=$(MSMDE)mdl\include\AssertSystemPolicy.mki
    End: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl/include/MdlSdkPolicyFileNames.mki
    Resume: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\ConfigurePolicy.mki at line 59
    Include: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\DeterminePolicyFile.mki from line 63 of C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\ConfigurePolicy.mki
    Macro (DeterminePolicyFile.mki:17): ShellPolicyMkiFile=$(SharedShellTmp)SuggestedBuildPolicy.mki
    Macro (DeterminePolicyFile.mki:20): PolicyPrompt=$$L$(PolicyName)$$G$$_$$P$$G
    Include: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl/include/MdlSdkPolicyFileMap.mki from line 57 of C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\DeterminePolicyFile.mki
    Macro (mdl/include/MdlSdkPolicyFileMap.mki:25): PolicyFileToPolicyNameMap=;$(PublicMicroStationPolicy);MDL_SDK  ;$(SystemPolicy);System 
    Macro (mdl/include/MdlSdkPolicyFileMap.mki:41): MkeToPolicyFileListMap=;Contains;\;$(PublicMicroStationPolicy) 
    End: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl/include/MdlSdkPolicyFileMap.mki
    Resume: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\DeterminePolicyFile.mki at line 57
    Macro (DeterminePolicyFile.mki:120): PolicyFileList=C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\AssertPublicMicroStationPolicy.mki
    Macro (DeterminePolicyFile.mki:188): ExtantPolicyMkis=C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\AssertPublicMicroStationPolicy.mki
    Macro (DeterminePolicyFile.mki:188): NumberOfRelevantExtantPolicies=1
    Macro (DeterminePolicyFile.mki:227): PolicyFile=C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\AssertPublicMicroStationPolicy.mki
    Macro (DeterminePolicyFile.mki:227): ChosenButton=Accept
     PolicyFile = C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\AssertPublicMicroStationPolicy.mki
    Macro (DeterminePolicyFile.mki:284): PolicyName=MDL_SDK
    End: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\DeterminePolicyFile.mki
    Resume: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\ConfigurePolicy.mki at line 63
    Include: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\AssertPublicMicroStationPolicy.mki from line 66 of C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\ConfigurePolicy.mki
    Macro (AssertPublicMicroStationPolicy.mki:22): MSB-BentleyFoundationProperties=$(MSBuildCommon)Bentley.MicroStation.properties
    Macro (AssertPublicMicroStationPolicy.mki:23): MSB-BentleyFoundationTargets=$(MSBuildCommon)Bentley.MicroStation.targets
    Macro (AssertPublicMicroStationPolicy.mki:26): SystemPolicyMki=SystemPolicy.mki
    Macro (AssertPublicMicroStationPolicy.mki:27): FoundationPolicyMki=MicroStationPolicy.mki
    End: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\AssertPublicMicroStationPolicy.mki
    Resume: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\ConfigurePolicy.mki at line 66
    Include: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\SystemPolicy.mki from line 76 of C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\ConfigurePolicy.mki
    Macro (SystemPolicy.mki:16): __SystemPolicy_mki__=1
    Macro (SystemPolicy.mki:19): StrongNameSignature=NormalSignature
    Macro (SystemPolicy.mki:27): TARGET_PROCESSOR_ARCHITECTURE=x86
    Macro (SystemPolicy.mki:50): TARGET_PROCESSOR_DIRECTORY=Winx86
    End: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\SystemPolicy.mki
    Resume: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\ConfigurePolicy.mki at line 76
    Include: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\MicroStationPolicy.mki from line 80 of C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\ConfigurePolicy.mki
    Macro (MicroStationPolicy.mki:14): __MicroStationPolicy_mki__=1
    Include: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\DefaultToolSet.mki from line 19 of C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\MicroStationPolicy.mki
    Macro (DefaultToolSet.mki:22): BUILD_USING_VS2005=1
    End: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\DefaultToolSet.mki
    Resume: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\MicroStationPolicy.mki at line 19
    Macro (MicroStationPolicy.mki:25): mstation=$(MS)
    Macro (MicroStationPolicy.mki:35): mstnToolsPath=$(mstation)mdl\bin\
    Macro (MicroStationPolicy.mki:38): MSBuildCommon=$(MSMDE)mdl\msbuild\
    Macro (MicroStationPolicy.mki:44): publishInc=$(MSMDE)mdl\include\
    Macro (MicroStationPolicy.mki:45): publishIncGeom=$(MSMDE)mdl\include\geom\
    Macro (MicroStationPolicy.mki:46): publishIdsInc=$(MSMDE)mdl\include\shareids\
    Macro (MicroStationPolicy.mki:47): stdlibInc=$(MSMDE)mdl\include\stdlib
    Macro (MicroStationPolicy.mki:48): mdlLibs=$(MSMDE)mdl\library\
    Macro (MicroStationPolicy.mki:49): rscDir=$(MSMDE)resource\
    Macro (MicroStationPolicy.mki:50): src=$(MSMDE)mdl\examples\
    Macro (MicroStationPolicy.mki:51): mdlexample=$(MSMDE)mdl\examples\
    Macro (MicroStationPolicy.mki:52): dotNetExample=$(MSMDE)dotnet\examples\
    Macro (MicroStationPolicy.mki:57): mdlapps=$(mstation)mdlapps\
    Macro (MicroStationPolicy.mki:58): o=$(MSMDE)mdl\objects\
    Macro (MicroStationPolicy.mki:59): genSrc=$(MSMDE)mdl\objects\
    Macro (MicroStationPolicy.mki:60): rscObjects=$(MSMDE)mdl\rscobj\
    Macro (MicroStationPolicy.mki:61): reqdObjs=$(MSMDE)mdl\reqdobjs\
    Macro (MicroStationPolicy.mki:69): ProductIncludes=-I${publishInc} -I${publishIncGeom} -I${publishIdsInc}
    Macro (MicroStationPolicy.mki:70): ProductRcIncludes=-i$(prodRel) -i$(publishInc)
    End: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\MicroStationPolicy.mki
    Resume: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\ConfigurePolicy.mki at line 80
    Include: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\AssignTokenValuesToUnusedPolicyLayers.mki from line 95 of C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\ConfigurePolicy.mki
    Macro (AssignTokenValuesToUnusedPolicyLayers.mki:33): DerivativePolicyMki=dummyvalue
    Macro (AssignTokenValuesToUnusedPolicyLayers.mki:37): VerticalPolicyMki=dummyvalue
    Macro (AssignTokenValuesToUnusedPolicyLayers.mki:41): SolutionPolicyMki=dummyvalue
    End: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\AssignTokenValuesToUnusedPolicyLayers.mki
    Resume: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\ConfigurePolicy.mki at line 95
    Include: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\AssertToolSet.mki from line 109 of C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\ConfigurePolicy.mki
    Macro (AssertToolSet.mki:12): __AssertToolSet_mki__=1
    Macro (AssertToolSet.mki:13): NO_COMPILERS_MKI=1
    Macro (AssertToolSet.mki:21): PROCESSOR_ARCHITECTURE=AMD64
    Macro (AssertToolSet.mki:110): VSProductDir=C:\Program Files (x86)\Microsoft Visual Studio 8\
    Macro (AssertToolSet.mki:115): VSProductDir=C:\PROGRA~2\MICROS~1
    Macro (AssertToolSet.mki:386): MSVC_DELAYLOAD_AVAILABLE=1
    Macro (AssertToolSet.mki:400): CSC_VERSION_DEF=CSC_VERSION_$(CSC_VERSION)
    Macro (AssertToolSet.mki:422): MSVC_VERSION=1400
    Macro (AssertToolSet.mki:423): CSC_VERSION=800
    Macro (AssertToolSet.mki:424): CurrentToolSet=USING_VS2005
    Macro (AssertToolSet.mki:425): CurrentCToolSetAbbr=vc8
    Macro (AssertToolSet.mki:427): MultiTargetingToolsVersion=2.0
    Macro (AssertToolSet.mki:694): DefaultFrameworkDir=$(SystemRoot)\Microsoft.NET\Framework
    Macro (AssertToolSet.mki:700): FrameworkDir=C:\WINDOWS\Microsoft.NET\Framework
    Macro (AssertToolSet.mki:745): Wow6432Node=Wow6432Node\
    Macro (AssertToolSet.mki:755): v30FrameworkAssemblies=C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.0\
    Macro (AssertToolSet.mki:774): v30FrameworkAssembliesNoTrailingSlash=C:\PROGRA~2\REFERE~1\MICROS~1\FRAMEW~1\v3.0
    Macro (AssertToolSet.mki:775): v30FrameworkAssemblies=C:\PROGRA~2\REFERE~1\MICROS~1\FRAMEW~1\v3.0\
    Macro (AssertToolSet.mki:788): v35FrameworkAssemblies=C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\v3.5\
    Macro (AssertToolSet.mki:797): v35FrameworkAssembliesNoTrailingSlash=C:\PROGRA~2\REFERE~1\MICROS~1\FRAMEW~1\v3.5
    Macro (AssertToolSet.mki:798): v35FrameworkAssemblies=C:\PROGRA~2\REFERE~1\MICROS~1\FRAMEW~1\v3.5\
    Macro (AssertToolSet.mki:824): FrameworkSDKDir=C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\
    Macro (AssertToolSet.mki:833): FrameworkSDKDir=C:\PROGRA~2\MICROS~1\SDK\v2.0
    End: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\AssertToolSet.mki
    Resume: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\ConfigurePolicy.mki at line 109
    End: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\ConfigurePolicy.mki
    Resume: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\mdl.mki at line 28
    Include: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\compilers.mki from line 34 of C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\mdl.mki
    End: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\compilers.mki
    Resume: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\mdl.mki at line 34
    Include: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\common.mki from line 40 of C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\mdl.mki
    Macro (common.mki:24): __Common_MKI__=1
    Include: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\msfilext.mki from line 26 of C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\common.mki
    Macro (msfilext.mki:17): __MSFilExt_MKI__=1
    Macro (msfilext.mki:37): oext=.obj
    Macro (msfilext.mki:38): libext=.lib
    Macro (msfilext.mki:39): exeext=.exe
    Macro (msfilext.mki:40): shlibext=.dll
    Macro (msfilext.mki:43): NetModuleExt=.netmodule
    End: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\msfilext.mki
    Resume: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\common.mki at line 26
    Include: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\createdir.mki from line 27 of C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\common.mki
    Macro (createdir.mki:20): __createdirMKI__=1
    Macro (createdir.mki:22): tstdir=direxist.ext
    Rule: from [.ext] to [.ext]
    !~@mkdir ${$%}
    End: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\createdir.mki
    Resume: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\common.mki at line 27
    Macro (common.mki:31): singleton=singleton
    Macro (common.mki:38): baseDir=$(_MakeFilePath)
    Include: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\winntcommon.mki from line 44 of C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\common.mki
    Macro (winntcommon.mki:22): deleteCmd=del
    Macro (winntcommon.mki:23): dirCmd=dir
    Macro (winntcommon.mki:24): copyCmd=copy
    Macro (winntcommon.mki:25): mkdirCmd=mkdir
    Macro (winntcommon.mki:26): rmdirCmd=rmdir
    Macro (winntcommon.mki:27): rmdirForceCmd=echo y | rmdir
    Macro (winntcommon.mki:28): makeFileWritable=attrib -r
    Macro (winntcommon.mki:29): typeFileCmd=type
    Macro (winntcommon.mki:30): shellCmd=cmd.exe /c
    Macro (winntcommon.mki:31): nativeMakeCmd=nmake.exe
    Macro (winntcommon.mki:32): unzipCmd=unzip.exe
    Macro (winntcommon.mki:33): maxOutputLen=2048
    Macro (winntcommon.mki:35): CopyFirstDepToFirstTarget=~@task Microsoft.Build.Tasks.Copy -i:SourceFiles="$<" -i:DestinationFiles="$@"
    End: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\winntcommon.mki
    Resume: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\common.mki at line 44
    Macro (common.mki:49): MakeProgram=bmake
    Macro (common.mki:58): Configuration=Release
    Macro (common.mki:72): universalTarget=Build
    Macro (common.mki:78): pursuedTarget=$(universalTarget)
    Macro (common.mki:82): targetIsUniversal=1
    Macro (common.mki:99): MSBuildVerbosity=minimal
    Macro (common.mki:103): CommonMSBuildConfigOpt=-p:Configuration=$(Configuration)
    Macro (common.mki:113): MultiTargetingOpt=-p:MultiTargetingToolsVersion=$(MultiTargetingToolsVersion)
    Macro (common.mki:117): CommonMSBuildOpts=-i:Targets=$(PursuedTarget) $(MultiTargetingOpt) $(CommonMSBuildConfigOpt) $(CommonMSBuildPlatformOpt) $(MSBuildCustomizationChain)
    Macro (common.mki:121): CustomBeforeMicrosoftCommonTargets=$(MSBuildCommon)Bentley.Common.BeforeMicrosoft.targets
    Macro (common.mki:124): CustomAfterMicrosoftCommonTargets=$(MSBuildCommon)Bentley.Common.AfterMicrosoft.targets
    Macro (common.mki:131): MSB-BentleySystemProperties=$(MSBuildCommon)Bentley.System.properties
    Macro (common.mki:138): MSB-BentleySystemTargets=$(MSBuildCommon)Bentley.System.targets
    Macro (common.mki:142): MSBuildCustomizationChain=-p:CustomBeforeMicrosoftCommonTargets=$(CustomBeforeMicrosoftCommonTargets)
    Macro: MSBUILDCUSTOMIZATIONCHAIN=-p:CustomBeforeMicrosoftCommonTargets=$(CustomBeforeMicrosoftCommonTargets) -p:CustomAfterMicrosoftCommonTargets=$(CustomAfterMicrosoftCommonTargets)
    Macro (common.mki:149): manifestCmd=mt.exe
    End: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\common.mki
    Resume: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\mdl.mki at line 40
    Macro (mdl.mki:53): MSTN_VERSION=8110000
    Macro (mdl.mki:59): msg=|[== Building-MDL-3 $@, ($=) ==]
    Macro (mdl.mki:62): language=english
    Macro (mdl.mki:66): langSpec=$(baseDir)$(language)\
    Include: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\winntmdl.mki from line 72 of C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\mdl.mki
    Macro (winntmdl.mki:35): BufferOverrunCheckOff=-GS-
    Macro (winntmdl.mki:36): CCompOpts=$(BufferOverrunCheckOff)
    Macro: CCOMPOPTS=$(BufferOverrunCheckOff) -fp:fast
    Macro (winntmdl.mki:64): CPP_EXCEPTION_USE_SYNC=1
    Macro (winntmdl.mki:68): CppExceptSynchHandler=-EHs
    Macro (winntmdl.mki:69): CppExceptAsynchHandler=-EHa
    Macro (winntmdl.mki:70): CppExceptTreatCAsNothrow=-EHc
    Macro (winntmdl.mki:75): ClrExceptionHandler=$(CppExceptAsynchHandler)
    Macro: CCOMPOPTS=$(BufferOverrunCheckOff) -fp:fast $(CppExceptTreatCAsNothrow)
    Macro (winntmdl.mki:83): NativeCppExceptHandler=$(CppExceptSynchHandler)
    Macro (winntmdl.mki:84): DefaultNativeCppExceptHandler=$(CppExceptSynchHandler)
    Macro: CCOMPOPTS=$(BufferOverrunCheckOff) -fp:fast $(CppExceptTreatCAsNothrow) -GR
    Macro (winntmdl.mki:111): CPP=cl
    Macro (winntmdl.mki:113): CCompCmd=$(CPP)
    Macro (winntmdl.mki:114): CCCompCmd=$(CPP)
    Macro (winntmdl.mki:117): LINK32=link
    Macro (winntmdl.mki:119): CLinkCmd=$(LINK32) -out:$@ $(CLinkOpts)
    Macro (winntmdl.mki:120): CLibCmd=lib
    Macro (winntmdl.mki:123): VCBuildCmd=$(MSVCDir)\vcpackages\vcbuild -logcommands
    Macro (winntmdl.mki:128): VCBuildCfg=Release
    Macro (winntmdl.mki:132): socket_lib=$(ntPlatformLib)ws2_32.lib
    Macro (winntmdl.mki:134): mdlbltinLib=$(mdlLibs)mdlbltin.lib
    Macro (winntmdl.mki:139): OptimizerOff=-Od
    Macro (winntmdl.mki:146): OptimizeForSpeed=-Ox -Oy-
    Macro (winntmdl.mki:147): OptimizeForSpace=-Ox -Oy- -Os
    Macro (winntmdl.mki:152): OptimizerOn=$(OptimizeForSpace)
    Macro (winntmdl.mki:164): BUGGY_MSVC50_OPTIMIZER=1
    Macro (winntmdl.mki:165): OptimizerDefault=$(OptimizerOn)
    Macro (winntmdl.mki:166): OptimizerFlag=$(OptimizerDefault)
    Macro (winntmdl.mki:215): crt_opt=-MD
    Macro (winntmdl.mki:216): cRuntime=$(ntLib)msvcrt.lib
    Macro (winntmdl.mki:232): cppRuntime=$(ntLib)msvcprt.lib
    Macro (winntmdl.mki:237): commonCOpts=-c -W3 -DWIN32 -DwinNT $(crt_opt) -D_VISCXX -Gy
    Macro: COMMONCOPTS=-c -W3 -DWIN32 -DwinNT $(crt_opt) -D_VISCXX -Gy -wd4996
    Macro: COMMONCOPTS=-c -W3 -DWIN32 -DwinNT $(crt_opt) -D_VISCXX -Gy -wd4996 $(OptimizerFlag)
    Macro: COMMONCOPTS=-c -W3 -DWIN32 -DwinNT $(crt_opt) -D_VISCXX -Gy -wd4996 $(OptimizerFlag) -D_SECURE_SCL_THROWS=1
    Macro: COMMONCOPTS=-c -W3 -DWIN32 -DwinNT $(crt_opt) -D_VISCXX -Gy -wd4996 $(OptimizerFlag) -D_SECURE_SCL_THROWS=1 -D_CONVERSION_DONT_USE_THREAD_LOCALE
    Macro (winntmdl.mki:261): SECURE_SCL_VALUE=0
    Macro: COMMONCOPTS=-c -W3 -DWIN32 -DwinNT $(crt_opt) -D_VISCXX -Gy -wd4996 $(OptimizerFlag) -D_SECURE_SCL_THROWS=1 -D_CONVERSION_DONT_USE_THREAD_LOCALE -D_SECURE_SCL=$(SECURE_SCL_VALUE)
    Macro: COMMONCOPTS=-c -W3 -DWIN32 -DwinNT $(crt_opt) -D_VISCXX -Gy -wd4996 $(OptimizerFlag) -D_SECURE_SCL_THROWS=1 -D_CONVERSION_DONT_USE_THREAD_LOCALE -D_SECURE_SCL=$(SECURE_SCL_VALUE) -DWIN32_LEAN_AND_MEAN
    Macro (winntmdl.mki:291): winVerDefsPreserved=(none)
    Macro: COMMONCOPTS=-c -W3 -DWIN32 -DwinNT $(crt_opt) -D_VISCXX -Gy -wd4996 $(OptimizerFlag) -D_SECURE_SCL_THROWS=1 -D_CONVERSION_DONT_USE_THREAD_LOCALE -D_SECURE_SCL=$(SECURE_SCL_VALUE) -DWIN32_LEAN_AND_MEAN $(winVerDefs)
    Macro (winntmdl.mki:295): FileTypeControl=(none)
    Macro (winntmdl.mki:296): FileTypeControlC=/TC
    Macro (winntmdl.mki:297): FileTypeControlCPP=/TP
    Macro (winntmdl.mki:298): MCFileTypeControl=$(FileTypeControlC)
    Macro: COMMONCOPTS=-c -W3 -DWIN32 -DwinNT $(crt_opt) -D_VISCXX -Gy -wd4996 $(OptimizerFlag) -D_SECURE_SCL_THROWS=1 -D_CONVERSION_DONT_USE_THREAD_LOCALE -D_SECURE_SCL=$(SECURE_SCL_VALUE) -DWIN32_LEAN_AND_MEAN $(winVerDefs) $(FileTypeControl)
    Macro: COMMONCOPTS=-c -W3 -DWIN32 -DwinNT $(crt_opt) -D_VISCXX -Gy -wd4996 $(OptimizerFlag) -D_SECURE_SCL_THROWS=1 -D_CONVERSION_DONT_USE_THREAD_LOCALE -D_SECURE_SCL=$(SECURE_SCL_VALUE) -DWIN32_LEAN_AND_MEAN $(winVerDefs) $(FileTypeControl) -nologo
    Macro (winntmdl.mki:314): AsmCmd=${nttools}\bin\ml
    Macro (winntmdl.mki:318): winNTx86=1
    Macro (winntmdl.mki:320): x86COpts=-GdF -D_X86_=1 -Di386=1
    Macro: CCOMPOPTS=$(BufferOverrunCheckOff) -fp:fast $(CppExceptTreatCAsNothrow) -GR $(x86COpts)
    Macro (winntmdl.mki:323): dllEntry=@12
    Macro (winntmdl.mki:324): ntCPU=X86
    Macro (winntmdl.mki:325): resCPU=x86
    Macro (winntmdl.mki:326): rcCPU=_X86_
    Macro (winntmdl.mki:331): AsmOpts=-Di386=1 -D_X86_=1 -DwinNT=1 -DWINNT=1 -DFPTOS=1 -c -Cp -Cx -coff -Zd -Zi
    Macro: ASMOPTS=-Di386=1 -D_X86_=1 -DwinNT=1 -DWINNT=1 -DFPTOS=1 -c -Cp -Cx -coff -Zd -Zi -W3 -WX
    Macro: CCOMPOPTS=$(BufferOverrunCheckOff) -fp:fast $(CppExceptTreatCAsNothrow) -GR $(x86COpts) $(commonCOpts)
    Macro: CCOMPOPTS=$(BufferOverrunCheckOff) -fp:fast $(CppExceptTreatCAsNothrow) -GR $(x86COpts) $(commonCOpts) -WX
    Macro (winntmdl.mki:375): ntDrive=c:
    Macro (winntmdl.mki:380): ntTools=$(MSVCDir)\
    Macro (winntmdl.mki:386): ntLib=${ntTools}\lib${slashAmd64}\
    Macro (winntmdl.mki:398): ntPlatformLib=${ntTools}\platformsdk\lib${slashAmd64}\
    Macro (winntmdl.mki:399): ntPlatformInc=${ntTools}\platformsdk\include\
    Macro (winntmdl.mki:412): ntInc=${ntTools}\include\
    Macro (winntmdl.mki:414): ntFrameworkLib="${FrameworkSDKDir}\lib\"
    Macro (winntmdl.mki:415): mfcLib=${ntTools}\atlmfc\lib\
    Macro (winntmdl.mki:416): mfcInc=${ntTools}\atlmfc\include\
    Macro (winntmdl.mki:419): CDllOpts=-entry:LibMain$(dllEntry)
    Macro (winntmdl.mki:421): CLibsNoRuntime=$(ntPlatformLib)gdi32.lib $(ntPlatformLib)user32.lib $(ntPlatformLib)kernel32.lib
    Macro (winntmdl.mki:427): CLibs=$(CLibsNoRuntime) $(cRuntime)
    Macro (winntmdl.mki:433): guiEntry=WinMainCRTStartup
    Macro (winntmdl.mki:437): guiOpts=-subsystem:windows -entry:$(guiEntry)
    Macro (winntmdl.mki:439): guiOptsDll=-subsystem:windows
    Macro (winntmdl.mki:441): guiLibs=$(ntPlatformLib)gdi32.lib $(ntPlatformLib)user32.lib $(ntPlatformLib)kernel32.lib  $(cruntime) $(ntPlatformLib)advapi32.lib $(ntPlatformLib)shell32.lib $(ntPlatformLib)msimg32.lib
    Macro (winntmdl.mki:443): gdiPlusLib=$(ntPlatformLib)gdiplus.lib
    Macro (winntmdl.mki:445): wtsApiLib=$(ntPlatformLib)wtsapi32.lib
    Macro (winntmdl.mki:447): clrstartlib=$(ntFrameworkLib)mscoree.lib
    Macro (winntmdl.mki:453): consoleEntry=mainCRTStartup
    Macro (winntmdl.mki:457): consoleOpts=-subsystem:console -entry:$(consoleEntry)
    Macro (winntmdl.mki:459): consoleLibs=$(cruntime) $(ntPlatformlib)kernel32.lib
    Macro (winntmdl.mki:461): oleLibs=$(ntPlatformLib)ole32.lib $(ntPlatformLib)oleaut32.lib $(ntPlatformLib)uuid.lib
    Macro (winntmdl.mki:463): mfcLibs=$(mfcLib)nafxcw.lib
    Macro (winntmdl.mki:472): CLinkOpts=$(consolOpts)
    Macro (winntmdl.mki:475): LinkWarningsToErrorsOnSwitch=-WX 
    Macro: CLINKOPTS=$(consolOpts) $(LinkWarningsToErrorsOptions)
    Macro (winntmdl.mki:477): CLibOpts=$(LinkWarningsToErrorsOptions)
    Macro (winntmdl.mki:480): LinkWarningsToErrorsDefault=$(LinkWarningsToErrorsOnSwitch)
    Macro (winntmdl.mki:481): LinkWarningsToErrorsOptions=$(LinkWarningsToErrorsOnSwitch)
    Macro: CLINKOPTS=$(consolOpts) $(LinkWarningsToErrorsOptions) -OPT:NoWin98 
    Macro: CLINKOPTS=$(consolOpts) $(LinkWarningsToErrorsOptions) -OPT:NoWin98  $(LinkOptRef)
    Macro (winntmdl.mki:506): LinkOptIcfIterationDefault=2 
    Macro (winntmdl.mki:509): LinkOptIcfIteration=$(LinkOptIcfIterationDefault)
    Macro (winntmdl.mki:518): LinkOptIcf=(none)
    Macro: CLINKOPTS=$(consolOpts) $(LinkWarningsToErrorsOptions) -OPT:NoWin98  $(LinkOptRef) $(LinkOptIcf)
    Macro: CLINKOPTS=$(consolOpts) $(LinkWarningsToErrorsOptions) -OPT:NoWin98  $(LinkOptRef) $(LinkOptIcf) -Ignore:4087 -Ignore:4089
    Macro: CLIBOPTS=$(LinkWarningsToErrorsOptions) -Ignore:4087 
    Macro (winntmdl.mki:566): CCompDebugLowSwitch=-Zd
    Macro (winntmdl.mki:567): CCompDebugFullSwitch=-Zi
    Macro (winntmdl.mki:571): IntermediatePdbFile=$(@D)$(CCompPDBName).pdb
    Macro (winntmdl.mki:573): FdSwitchDefault=-Fd$(IntermediatePdbFile)
    Macro: CCOMPDEBUGFULLSWITCH=-Zi $(FdSwitchDefault)
    Macro: CCOMPDEBUGLOWSWITCH=-Zd $(FdSwitchDefault)
    Macro (winntmdl.mki:581): CCompPDBName=objects
    Macro (winntmdl.mki:593): CCompDebugOptions=$(CCompDebugFullSwitch)
    Macro (winntmdl.mki:597): CCompDebugDefault=$(CCompDebugFullSwitch)
    Macro: CCOMPOPTS=$(BufferOverrunCheckOff) -fp:fast $(CppExceptTreatCAsNothrow) -GR $(x86COpts) $(commonCOpts) -WX $(CCompDebugOptions)
    Macro: CCOMPOPTS=$(BufferOverrunCheckOff) -fp:fast $(CppExceptTreatCAsNothrow) -GR $(x86COpts) $(commonCOpts) -WX $(CCompDebugOptions) $(CCompMixInEnv)
    Macro: CCOMPOPTS=$(BufferOverrunCheckOff) -fp:fast $(CppExceptTreatCAsNothrow) -GR $(x86COpts) $(commonCOpts) -WX $(CCompDebugOptions) $(CCompMixInEnv) $(CCompMixIn)
    Macro (winntmdl.mki:614): WP64OnSwitch=/Wp64
    Macro: CCOMPOPTS=$(BufferOverrunCheckOff) -fp:fast $(CppExceptTreatCAsNothrow) -GR $(x86COpts) $(commonCOpts) -WX $(CCompDebugOptions) $(CCompMixInEnv) $(CCompMixIn) $(WP64Option)
    Macro (winntmdl.mki:629): WholeProgramOptimizationOnSwitch=-GL
    Macro (winntmdl.mki:645): ClrOption=-CLR
    Macro (winntmdl.mki:647): CCompOptsCLR=$(ClrOption)
    Macro: CCOMPOPTSCLR=$(ClrOption) $(BufferOverrunCheckOff) -fp:fast $(CppExceptTreatCAsNothrow) -GR $(x86COpts) $(commonCOpts) -WX $(CCompDebugOptions) $(CCompMixInEnv) $(CCompMixIn) $(WP64Option)
    Macro: CCOMPOPTSCLR=$(ClrOption) $(BufferOverrunCheckOff) -fp:fast $(CppExceptTreatCAsNothrow) -GR $(x86COpts) $(commonCOpts) -WX $(CCompDebugOptions) $(CCompMixInEnv) $(CCompMixIn) $(WP64Option) $(ClrExceptionHandler)
    Macro: CCOMPOPTS=$(BufferOverrunCheckOff) -fp:fast $(CppExceptTreatCAsNothrow) -GR $(x86COpts) $(commonCOpts) -WX $(CCompDebugOptions) $(CCompMixInEnv) $(CCompMixIn) $(WP64Option) $(NativeCppExceptHandler)
    Macro (winntmdl.mki:680): EnableMinimalRebuildOnSwitch=-Gm
    Macro: CCOMPOPTS=$(BufferOverrunCheckOff) -fp:fast $(CppExceptTreatCAsNothrow) -GR $(x86COpts) $(commonCOpts) -WX $(CCompDebugOptions) $(CCompMixInEnv) $(CCompMixIn) $(WP64Option) $(NativeCppExceptHandler) $(EnableMinimalRebuildOption)
    Macro: CCOMPOPTS=$(BufferOverrunCheckOff) -fp:fast $(CppExceptTreatCAsNothrow) -GR $(x86COpts) $(commonCOpts) -WX $(CCompDebugOptions) $(CCompMixInEnv) $(CCompMixIn) $(WP64Option) $(NativeCppExceptHandler) $(EnableMinimalRebuildOption) -arch:SSE2
    Macro (winntmdl.mki:701): LINKDebugArgs=-debug
    Macro (winntmdl.mki:704): IncrementalLinkOnSwitch=-incremental:yes
    Macro (winntmdl.mki:705): IncrementalLinkOffSwitch=-incremental:no
    Macro (winntmdl.mki:711): IncrementalLinkDefault=$(IncrementalLinkOffSwitch)
    Macro (winntmdl.mki:716): IncrementalLinkOption=$(IncrementalLinkDefault)
    Macro: CLINKOPTS=$(consolOpts) $(LinkWarningsToErrorsOptions) -OPT:NoWin98  $(LinkOptRef) $(LinkOptIcf) -Ignore:4087 -Ignore:4089 -Release 
    Macro: CLINKOPTS=$(consolOpts) $(LinkWarningsToErrorsOptions) -OPT:NoWin98  $(LinkOptRef) $(LinkOptIcf) -Ignore:4087 -Ignore:4089 -Release  $(DLM_PDB_LINKOPT) $(LINKDebugArgs) $(IncrementalLinkOption)
    Macro: CDLLOPTS=-entry:LibMain$(dllEntry) $(DLM_PDB_LINKOPT) $(LINKDebugArgs) $(IncrementalLinkOption)
    Macro (winntmdl.mki:725): DLM_SPECIAL_LINKOPT=$(DLM_PDB_LINKOPT) $(LINKDebugArgs) $(IncrementalLinkOption)
    Macro: CLINKOPTS=$(consolOpts) $(LinkWarningsToErrorsOptions) -OPT:NoWin98  $(LinkOptRef) $(LinkOptIcf) -Ignore:4087 -Ignore:4089 -Release  $(DLM_PDB_LINKOPT) $(LINKDebugArgs) $(IncrementalLinkOption) -fixed:no
    Macro: DLM_SPECIAL_LINKOPT=$(DLM_PDB_LINKOPT) $(LINKDebugArgs) $(IncrementalLinkOption) -fixed:no
    Macro (winntmdl.mki:737): CLinkOptsCLR=$(consolOpts) $(LinkWarningsToErrorsOptions) -OPT:NoWin98  $(LinkOptRef) $(LinkOptIcf) -Ignore:4087 -Ignore:4089 -Release  $(DLM_PDB_LINKOPT) $(LINKDebugArgs) $(IncrementalLinkOption) -fixed:no
    Macro (winntmdl.mki:738): CDllOptsCLR=-entry:LibMain$(dllEntry) $(DLM_PDB_LINKOPT) $(LINKDebugArgs) $(IncrementalLinkOption)
    Macro (winntmdl.mki:741): rcOpt=-d$(targetProduct) -dVARIETY=$(VARIETY)
    Macro: RCOPT=-d$(targetProduct) -dVARIETY=$(VARIETY) -dUSER="\"$(USERNAME) on $(COMPUTERNAME)\""
    Macro (winntmdl.mki:759): bscmake_exe=@echo Not generating VC source browser files for
    Macro (winntmdl.mki:766): CTargetSpec=$@
    Macro (winntmdl.mki:769): RecipeCCompile=$(CCompCmd) $(cIncs) $(cDefs) $(cuser) $(ProductIncludes) $(CPchOpts) $(CCompOpts) -Fo$(CTargetSpec)
    Rule: from [.c] to [.obj]
    $(msg)
    $(RecipeCCompile) $< $(CCompRedirect)
    ~time
    Rule: from [.mc] to [.obj]
    $(msg)
    $(CCompCmd) $(cIncs) $(cDefs) $(cuser) $(ProductIncludes) $(CCompOpts) $(MCFileTypeControl) -Fo$@ $<
    ~time
    Macro (winntmdl.mki:780): RecipeCPPCompile=$(CCCompCmd) $(cIncs) $(cDefs) $(cuser) $(ProductIncludes) $(CCCompOpts) $(CCPchOpts) -Fo$(CTargetSpec)
    Rule: from [.cxx,cpp] to [.obj]
    $(msg)
    $(RecipeCPPCompile) $< $(CCompRedirect)
    ~time
    Rule: from [.asm] to [.obj]
    $(msg)
    $(AsmCmd) $(AsmOpts) $(AsmIncs) $(ProductAsmIncludes) -Fo$@ $%$*.asm
    ~time
    Rule: from [.s] to [.obj]
    $(msg)
    $(AsmCmd) $(AsmOpts) $(AsmIncs) -o $@ $%$*.s
    ~time
    Rule: from [.res] to [.rbj]
    $(msg)
    cvtres -machine:$(resCPU) -out:$@ $%$*.res
    ~time
    Rule: from [.rc] to [.res]
    $(msg)
    rc $(rcOpt) -d$(rcCPU) -dwinNT $(ProductRcIncludes) $(rcExtraOpts) -r -fo$@ $%$*.rc
    ~time
    Rule: from [.def] to [.lib]
    $(msg)
    $(CLibCmd) $(CLibOpts) -out:$@ -def:$%$*.def -machine:$(ntCPU)
    ~time
    End: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\winntmdl.mki
    Resume: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\mdl.mki at line 72
    Macro (mdl.mki:78): MCompCmd=$(toolsPath)mcomp
    Macro (mdl.mki:82): MLinkCmd=$(toolsPath)mlink
    Macro (mdl.mki:86): MLibCmd=$(toolsPath)mlib
    Macro (mdl.mki:90): RCompCmd=$(toolsPath)rcomp
    Macro (mdl.mki:94): RTypeCmd=$(toolsPath)rsctype
    Macro (mdl.mki:98): RLibCmd=$(toolsPath)rlib
    Macro (mdl.mki:102): dlmspecCmd=$(toolsPath)dlmspec
    Macro (mdl.mki:109): CCCompOpts=$(CCompOpts)
    Macro (mdl.mki:173): CompOpts=-Ea
    Macro (mdl.mki:181): MDLV8_WARNINGS=-Iz
    Macro: COMPOPTS=-Ea $(MDLV8_WARNINGS)
    Rule: from [.mc,m,c] to [.mo]
    $(msg)
    > $(o)make.opt
    -c 
    -o$@ 
    -i${publishInc}
    -i${publishIncGeom}
    -i${publishIdsInc}
    -i${stdlibInc}
    -i${privateInc}
    -i${genSrc}
    $(platformOpts)
    $(altIncs)
    $(compOpts) 
    $(moreMdlCompileOpts)
    $<
    <
    $(MCompCmd) @$(o)make.opt
    ~time
    Rule: from [.mo] to [.ma]
    $(msg)
    > $(o)make.opt
    -a$@
    $(linkOpts) $& $(linkLibs)
    <
    $(MLinkCmd) @$(o)make.opt
    ~time
    Rule: from [.mt] to [.r]
    $(msg)
    > $(o)make.opt
    -o$@ 
    -i${privateInc}
    $(rscCompIncs)
    $(altIncs)
    -i${publishInc}
    -i${publishIdsInc}
    -i${stdlibInc}
    $(platformOpts)
    $(moreRTypeOpts)
    $<
    <
    $(RTypeCmd) @$(o)make.opt
    ~time
    Rule: from [.r] to [.rsc]
    $(msg)
    > $(o)make.opt
    $(rcompOpts)
    -w 
    -o$@ 
    -i${privateInc}
    $(rscCompIncs)
    $(altIncs)
    -i${publishInc}
    -i${publishIdsInc}
    -i${langSpec}
    $(moreRscCompileOpts)
    $(platformOpts)
    -i${genSrc}
    $<
    <
    $(RCompCmd) @$(o)make.opt
    ~time
    Rule: from [.r] to [.h]
    $(msg)
    > $(o)make.opt
    -ho$@ 
    -o$(o)$*.rsc
    -i${privateInc}
    $(rcompOpts)
    $(rscCompIncs)
    $(altIncs)
    -i${publishInc}
    -i${publishIdsInc}
    $(platformOpts)
    $(moreRscCompileOpts)
    $<
    <
    $(RCompCmd) @$(o)make.opt
    ~time
    Macro (mdl.mki:313): rsignmsg=|[== Digitally Signing $= ==]
    Rule: from [.ma] to [.signed]
    $(rsignmsg)
    $(rsigncmd) $<
    > $@
    signed
    <
    ~time
    Rule: from [.pma] to [.signed]
    $(rsignmsg)
    $(rsigncmd) $<
    > $@
    signed
    <
    ~time
    Rule: from [.rsc] to [.signed]
    $(rsignmsg)
    $(rsigncmd) $<
    > $@
    signed
    <
    ~time
    Rule: from [.msl] to [.signed]
    $(rsignmsg)
    $(rsigncmd) $<
    > $@
    signed
    <
    ~time
    Rule: from [.exe] to [.signed]
    $(rsignmsg)
    $(signcodecmd) $<
    > $@
    signed
    <
    ~time
    Rule: from [.cab] to [.signed]
    $(rsignmsg)
    $(signcodecmd) $<
    > $@
    signed
    <
    ~time
    Rule: from [.CAB] to [.signed]
    $(rsignmsg)
    $(signcodecmd) $<
    > $@
    signed
    <
    ~time
    Rule: from [.MSI] to [.signed]
    $(rsignmsg)
    $(signcodecmd) $<
    > $@
    signed
    <
    ~time
    Rule: from [.msi] to [.signed]
    $(rsignmsg)
    $(signcodecmd) $<
    > $@
    signed
    <
    ~time
    Rule: from [.dll] to [.signed]
    $(rsignmsg)
    $(dllsignAuthenticCmd) $<
    $(signcodecmd) $<
    > $@
    signed
    <
    ~time
    Rule: from [.DLL] to [.signed]
    $(rsignmsg)
    $(dllsignAuthenticCmd) $<
    $(signcodecmd) $<
    > $@
    signed
    <
    ~time
    Macro (mdl.mki:405): rsignrc1msg=|[== Digitally Signing Rights-Compliant $= ==]
    Macro (mdl.mki:407): mvbasignrc1msg=|[== Digitally Signing Rights-Compliant $= ==]
    Rule: from [.ma] to [.rc1signed]
    $(rsignrc1msg)
    $(rsignrc1cmd) $<
    > $@
    rc1signed
    <
    ~time
    Rule: from [.pma] to [.rc1signed]
    $(rsignrc1msg)
    $(rsignrc1cmd) $<
    > $@
    rc1signed
    <
    ~time
    Rule: from [.rsc] to [.rc1signed]
    $(rsignrc1msg)
    $(rsignrc1cmd) $<
    > $@
    rc1signed
    <
    ~time
    Rule: from [.msl] to [.rc1signed]
    $(rsignrc1msg)
    $(rsignrc1cmd) $<
    > $@
    rc1signed
    <
    ~time
    Rule: from [.mvba] to [.rc1signed]
    $(mvbasignrc1msg)
    $(mvbasignrc1cmd) $<
    > $@
    rc1signed
    <
    ~time
    Rule: from [.dls] to [.dlo]
    $(msg)
    > $(o)make.opt
    -o$@ 
    -w$(moduleDef)
    $<
    <
    $(dlmspecCmd) @$(o)make.opt
    ~time
    Rule: from [.c] to [.mc]
    $(CopyFirstDepToFirstTarget)
    Rule: from [.mc] to [.c]
    $(CopyFirstDepToFirstTarget)
    End: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\mdl.mki
    Resume: C:\Users\Jan�legr\Documents\MDLProjects V8i (SELECTseries 3)\basic\basic.mke at line 20
    Macro (basic.mke:22): dirToSearch=$(genSrc)
    Include: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\cincapnd.mki from line 23 of C:\Users\Jan�legr\Documents\MDLProjects V8i (SELECTseries 3)\basic\basic.mke
    Macro (cincapnd.mki:22): cIncs=-I$(genSrc)
    End: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\cincapnd.mki
    Resume: C:\Users\Jan�legr\Documents\MDLProjects V8i (SELECTseries 3)\basic\basic.mke at line 23
    Macro (basic.mke:38): basicObjs=$(o)basic.mo  $(mdlLibs)ditemlib.dlo
    Macro (basic.mke:42): basicRscs=$(o)basiccmd.rsc  $(o)basictyp.rsc
    Macro (basic.mke:63): dlmObjs=$(o)$(appName)$(oext) 
    Macro (basic.mke:65): DLM_NO_DLS=1 
    Macro (basic.mke:66): DLM_NO_DEF=1
    Macro (basic.mke:67): DLM_NOENTRY=1
    Macro (basic.mke:68): DLM_NO_NTBSADDR=1
    Macro (basic.mke:69): DLM_OBJECT_DEST=$(o)
    Macro (basic.mke:70): DLM_LIBDEF_SRC=$(baseDir)
    Macro (basic.mke:71): DLM_DEST=$(mdlapps)
    Macro (basic.mke:72): DLM_NAME=$(appName)
    Macro (basic.mke:73): DLM_ENTRY_NAME=dllentry
    Macro (basic.mke:74): DLM_RESL_NAME=$(appName)
    Macro (basic.mke:75): DLM_OBJECT_FILES=$(dlmObjs)
    Macro (basic.mke:76): DLM_SYM_NAME=$(dllName)
    Macro (basic.mke:77): DLM_SPECIAL_LINKOPT=-fixed:no
    Macro (basic.mke:81): DLM_LIBRARY_FILES=$(mdlLibs)toolsubs.lib  $(mdlLibs)BentleyDgn.lib  $(mdlLibs)ditemlib.lib  $(mdlLibs)mdllib.lib 
    Include: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\dlmlink.mki from line 89 of C:\Users\Jan�legr\Documents\MDLProjects V8i (SELECTseries 3)\basic\basic.mke
    Macro (dlmlink.mki:105): DLM_BASENAME=$(DLM_OBJECT_DEST)$(DLM_NAME)
    Macro (dlmlink.mki:109): DLM_EXTENSION=$(shlibext)
    Macro (dlmlink.mki:113): DLM_OUT_NAME=$(DLM_DEST)$(DLM_NAME)$(DLM_EXTENSION)
    Macro (dlmlink.mki:117): DLM_EXPORT_NAME=$(DLM_EXPORT_DEST)$(DLM_NAME).lib
    Macro (dlmlink.mki:124): ALL_DLM_OBJS=$(DLM_OBJECT_FILES) $(DLM_LIBRARY_FILES)
    Macro (dlmlink.mki:127): DlmLinkCmd=$(CLinkCmd)
    Macro (dlmlink.mki:130): DLM_MODULE_DEF=$(DLM_OBJECT_DEST)$(DLM_NAME).def
    Macro (dlmlink.mki:132): DLM_NT_LIBS=$(CLibs)
    Macro (dlmlink.mki:137): DLM_REQD_LIBS=$(mdlLibs)
    Macro (dlmlink.mki:140): DLM_DLO_DEST=$(DLM_OBJECT_DEST)
    Macro (dlmlink.mki:152): DLS_NAME=$(DLM_NAME)
    Macro (dlmlink.mki:162): DLM_MAPNAME=$(DLM_OBJECT_DEST)$(DLM_NAME).map
    Macro (dlmlink.mki:165): DLM_MAP_OPTS=-map:$(DLM_MAPNAME)
    Macro (dlmlink.mki:178): DLM_SYMB_NAME=$(DLM_DEST)$(DLM_NAME).pdb
    Macro (dlmlink.mki:181): DLM_SYMB_OPTS=-pdb:"$(DLM_SYMB_NAME)"
    Include: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\signrscsdefs.mki from line 212 of C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\dlmlink.mki
    Macro (signrscsdefs.mki:22): rsignargs=--iKN -v $(certDir)developer.pvk -spc $(certDir)developer.cer
    Macro (signrscsdefs.mki:24): signcodeargs=sign /f $(certDir)developer.pfx /p bsidev
    Macro (signrscsdefs.mki:33): RSIGN_PROGRAM=$(mstnToolsPath)rsign
    Macro (signrscsdefs.mki:39): rsigncmd=$(singleton) $(RSIGN_PROGRAM) $(rsignargs)
    Macro (signrscsdefs.mki:52): signcode=$(FrameworkSDKDir)\Bin\signtool.exe
    Macro (signrscsdefs.mki:86): signcodecmd=$(singleton) "$(signcode)" $(signcodeargs)
    Macro (signrscsdefs.mki:93): dllsignTool=dllsign.exe
    Macro (signrscsdefs.mki:98): dllsignAuthenticCmd=$(singleton) $(dllsignTool) $(rsignargs)
    End: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\signrscsdefs.mki
    Resume: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\dlmlink.mki at line 212
    Macro (dlmlink.mki:216): DLM_NO_IMPLIB=1
    Macro (dlmlink.mki:258): DLM_EXPORT_DEST=$(DLM_OBJECT_DEST)
    Macro (dlmlink.mki:283): DLM_EXP_DEST=$(DLM_EXPORT_DEST)
    Macro (dlmlink.mki:287): _libResponseFile=$(DLM_OBJECT_DEST)$(DLM_NAME)lib.rsp
    Macro (dlmlink.mki:288): _linkResponseFile=$(DLM_OBJECT_DEST)$(DLM_NAME)link.rsp
    End: C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\dlmlink.mki
    Resume: C:\Users\Jan�legr\Documents\MDLProjects V8i (SELECTseries 3)\basic\basic.mke at line 89
    Include: C:\Users\Jan�legr\Documents\MDLPRO~1\basic\basicrsc.mki from line 105 of C:\Users\Jan�legr\Documents\MDLProjects V8i (SELECTseries 3)\basic\basic.mke
    Macro (basicrsc.mki:11): basicRscs=$(reqdObjs)basic.mi  $(rscObjects)basic.rsc  $(rscObjects)basicmsg.rsc 
    Macro (basicrsc.mki:13): langSpec=$(BaseDir)english\
    End: C:\Users\Jan�legr\Documents\MDLPRO~1\basic\basicrsc.mki
    Resume: C:\Users\Jan�legr\Documents\MDLProjects V8i (SELECTseries 3)\basic\basic.mke at line 105
    End: C:\Users\Jan�legr\Documents\MDLProjects V8i (SELECTseries 3)\basic\basic.mke
    Wed Sep 30 08:01:22 2020, elapsed time: 0:00
    

  • Did you try to start bmake manually?

    Jan, I tried to run rcomp manually that failed. I thought since rcomp is the one that does the resource compilation I tried that and little did I know that bmake takes care of this. So I haven't tried running bmake manually before. I just run that and it all went well and the header file is generated. 

    Honestly, I am not sure what is the best solution. To configure Visual Studio 2005 to do compilation right is quite complicated and as far as I remember has to be done at several places, so I am not able to say what to check

    looks like that way. I am very new to this product and I had to support these application so was trying to use the setup as is. But unfortunately the servers where the development environment was setup properly were all decommissioned and I will have to do all this on my own now. 

    Thank you for all your time and valuable information.  

  • Jan, I tried to run rcomp manually that failed.

    You are talking about something different! To run bmake is not the same task as run rcomp!

    Both can help, but to run rcomp manually requires very good knowledge of all parameters and development shell configuration. And it does not tell anything about whether shell and make files are correct.

    I just run that and it all went well and the header file is generated. 

    That's great result. So now I think you have to check why it's not run by Visual Studio.

    I will have to do all this on my own now. 

    The basic tool for MicroStation application development (even when disliked by many developers ;-) is bmake. It's not user friendly, not integrated with Visual Studio, but it does a lot of things automatically for you (it find compiler, set right arguments to correct values to produce code for MicroStation etc.).

    To learn bmake syntax is not simple, but it's very similar to other standard make tools like GNU make, used by developers worldwide every day.

    Also, I found that for simpler projects where I do not expect I will need advanced analysis features of Visual Studio plugins, I am more efficient with Visual Studio Code, configured to use bmake as building tool. Of course Visual Studio has to be still installed to be VisualC compiler available, but simplistic VSC environment is much better than versatile, but huge and complex Visual Studio environment.

    With regards,

      Jan

  • That's great result. So now I think you have to check why it's not run by Visual Studio.

    That is my next job to figure out why. I believe it is somehow not able to see where the bmake calls are made ( as I said previously it was all set out in batch file and the same batch file is set within VS project file)

    Also, I found that for simpler projects where I do not expect I will need advanced analysis features of Visual Studio plugins, I am more efficient with Visual Studio Code, configured to use bmake as building tool. Of course Visual Studio has to be still installed to be VisualC compiler available, but simplistic VSC environment is much better than versatile, but huge and complex Visual Studio environment.

    any guidelines on how to setup Visual Studio Code to work with bmake ? Also, what version of VSCode works with these environments ? 

    Thanks for all your valuable information here.

  • any guidelines on how to setup Visual Studio Code to work with bmake ?

    I am not aware of any such guidelines, but it's quite simple: VSC is just an editor, nothing else, so everything has to be configured.

    Typical approach is:

    • To have MicroStation development shell properly configured
    • To have make file properly written to build (compile, link etc.) complete project
    • To start VSC from the dev shell so it inherits all shell settings
    • VSC will probably automatically install C/C++ extension (when not, can be done manually), so it's about to say what C++ version should be used by InteliSense and analysis tools (VS2005 is equal to C++ 98 I guess)
    • It's recommended to define VSC own workspace
    • Task(s) can be defined to start bmake from VSC

    As everything, to start to use VSC requires some learning at the beginning, but in fact it's very simple and everything use the same concepts. Also, because it's the most popular multiplatform editor today, it's easy to find answers and comments when any issue arises.

    Also, what version of VSCode works with these environments ? 

    There is only one VSC version (build) ... the latest one.

    With regards,

      Jan