Help with moving MDL application to Ustn Connect - LinkageHeader structure not being found

Hello Everyone,

I am having trouble compiling the MT file to the R file. Below is the message from the BMAKE

The line number 40 in the .H file is "LinkageHeader lnkHdr"

[== Building C:\...\<appname>Linktyp.r, (C:\...\<appname>Linktyp.mt) ==]
rsctype @C:\...\AppData\Local\Temp\Bentley\MicroStationSDK\objects\make.opt
MicroStation Type Resource File Generator 03.17.02
C:\...\<appname>Attr.h(40) : error: bad struct/union definition: expected type
C:\...\<appname>Attr.h(40) : error: expected ,, got linkHdr
BMAKE: call trace
    line:   84, C:\...\<appname>.mke
Mon Apr 22 15:26:07 2019, elapsed time: 0:02

typedef struct userDataHeader
{
    LinkageHeader    linkHdr;
    DSIDataHeader    dsiHdr;
} UserDataHeader;

What Include file or update do I need to make so that the MT file can be compiled to .r file

Thanks

Peter

Parents
  • Hi Peter,

    Please refer to the MicroStation CONNECT Examples: circuit and/or scanfile.

    Both examples use an .mt in their project make files.  For the .mt file: #include <RmgrTools\Tools\datadef.r.h>.

    Note in MicroStation CONNECT the distinction has been made to ensure .h files should be true native platform .h compatible, and any .r.h files treated and used as "resource header" files purposes only. 

    Given that, the .mke file compiles the .mt file (e.g. circuit) occurs like below:

    circuit.mke:50:$(genSrc)$(sAppName)typ.r : $(baseDir)$(sAppName)typ.mt \

    In your .cpp file including (#include <Mstn\MdlApi\MdlApi.h>) which is somewhat analogous to prior MDL practice of including "msvars.fdf" to include a large variety of headers commonly needed.

    Lastly, in MicroStation CONNECT you may want to try to use: SDKSearch <SearchTerm> def.  Where "def" can be used to narrow/filter search results to the most common form of definitions for a given search term.

    HTH,
    Bob



Reply
  • Hi Peter,

    Please refer to the MicroStation CONNECT Examples: circuit and/or scanfile.

    Both examples use an .mt in their project make files.  For the .mt file: #include <RmgrTools\Tools\datadef.r.h>.

    Note in MicroStation CONNECT the distinction has been made to ensure .h files should be true native platform .h compatible, and any .r.h files treated and used as "resource header" files purposes only. 

    Given that, the .mke file compiles the .mt file (e.g. circuit) occurs like below:

    circuit.mke:50:$(genSrc)$(sAppName)typ.r : $(baseDir)$(sAppName)typ.mt \

    In your .cpp file including (#include <Mstn\MdlApi\MdlApi.h>) which is somewhat analogous to prior MDL practice of including "msvars.fdf" to include a large variety of headers commonly needed.

    Lastly, in MicroStation CONNECT you may want to try to use: SDKSearch <SearchTerm> def.  Where "def" can be used to narrow/filter search results to the most common form of definitions for a given search term.

    HTH,
    Bob



Children