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.
Hi Kalyan,
Kalyan Kamepalli said: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:
Kalyan Kamepalli said: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.
Kalyan Kamepalli said: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
Kalyan Kamepalli said: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.
Kalyan Kamepalli said: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
Bentley Accredited Developer: iTwin Platform - AssociateLabyrinth Technology | dev.notes() | cad.point
Hi Jan,
this is how my mke file is defined. sew_cmd.h is defined as a dependency file. Is that a problem ?
Jan Šlegr said: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
Kalyan Kamepalli said: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.
Kalyan Kamepalli said:sew_cmd.h is defined as a dependency file
When it is used in source code, it should be defined as dependency file.
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:
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.
Kalyan Kamepalli said: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.
*.r
*.h
.rsc
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.
mdl.mki
Regards, Jon Summers LA Solutions
Jon Summers said: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.
Kalyan Kamepalli said: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.
Jan Šlegr said: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
<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> </td><td width=0 bgcolor=#FFFFFF> </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> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre>Creating temporary file "O:\CppObjects\Sewernet\Debug\RSP000052154329220.rsp" with contents [ /Od /I "C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\\mdl\include" /I "..\include" /I "..\adoserver" /I "..\daoserver" /I "..\adoserver\adorecordsets" /I "..\daoserver\daorecordsets" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /D "winNT" /D "_CRT_SECURE_NO_DEPRECATE" /D "_VC80_UPGRADE=0x0600" /D "_WINDLL" /D "_AFXDLL" /Gm /EHsc /MDd /Yu"stdafx.h" /Fp"O:/CppObjects/Sewernet/Debug/Sewernet.pch" /Fo"O:/CppObjects/Sewernet/Debug/" /Fd"O:/CppObjects/Sewernet/Debug/" /FR"O:/CppObjects/Sewernet/Debug\\" /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 "C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\\mdl\include" /I "..\include" /I "..\adoserver" /I "..\daoserver" /I "..\adoserver\adorecordsets" /I "..\daoserver\daorecordsets" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /D "winNT" /D "_CRT_SECURE_NO_DEPRECATE" /D "_VC80_UPGRADE=0x0600" /D "_WINDLL" /D "_AFXDLL" /Gm /EHsc /MDd /Yc"stdafx.h" /Fp"O:/CppObjects/Sewernet/Debug/Sewernet.pch" /Fo"O:/CppObjects/Sewernet/Debug/" /Fd"O:/CppObjects/Sewernet/Debug/" /FR"O:/CppObjects/Sewernet/Debug\\" /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 "C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\\mdl\include" /I "..\include" /I "..\adoserver" /I "..\daoserver" /I "..\adoserver\adorecordsets" /I "..\daoserver\daorecordsets" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /D "winNT" /D "_CRT_SECURE_NO_DEPRECATE" /D "_VC80_UPGRADE=0x0600" /D "_WINDLL" /D "_AFXDLL" /Gm /EHsc /MDd /Fp"O:/CppObjects/Sewernet/Debug/Sewernet.pch" /Fo"O:/CppObjects/Sewernet/Debug/" /Fd"O:/CppObjects/Sewernet/Debug/" /FR"O:/CppObjects/Sewernet/Debug\\" /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 "C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\\mdl\include" /I "..\include" /I "..\adoserver" /I "..\daoserver" /I "..\adoserver\adorecordsets" /I "..\daoserver\daorecordsets" /D "WINVER=0x0501" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_USRDLL" /D "winNT" /D "_CRT_SECURE_NO_DEPRECATE" /D "_VC80_UPGRADE=0x0600" /D "_WINDLL" /D "_AFXDLL" /Gm /EHsc /MDd /Fp"O:/CppObjects/Sewernet/Debug/Sewernet.pch" /Fo"O:/CppObjects/Sewernet/Debug/" /Fd"O:/CppObjects/Sewernet/Debug/" /FR"O:/CppObjects/Sewernet/Debug\\" /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 "O:/CppObjects/Sewernet/Debug/Output/Sewernet.bsc" 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> </td><td width=0 bgcolor=#FFFFFF> </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> </td><td width=0 bgcolor=#FFFFFF> </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
Kalyan Kamepalli said: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.
Kalyan Kamepalli said: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?
Kalyan Kamepalli said: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.
Kalyan Kamepalli said:How do I check if this is happening during the build process ?
Isn't it why log files exist and why they are generated?
Kalyan Kamepalli said: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.
Kalyan Kamepalli said: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:
With regards,
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
Jan Šlegr said: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.
Jan Šlegr said: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.
Kalyan Kamepalli said: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.
Kalyan Kamepalli said: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.
Kalyan Kamepalli said: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.
Jan Šlegr said: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)
Jan Šlegr said: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.
Kalyan Kamepalli said: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:
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.
Kalyan Kamepalli said:Also, what version of VSCode works with these environments ?
There is only one VSC version (build) ... the latest one.