Problems compilingxfm mdl project

Hi,

I know I'm a old timer but I never seem to get the time to enter the VC-world. Right now I need to add xfm functionality to an old mdl project. I've downloaded and modified the geodevshell.bat file and it  work for compiling my project WITHOUT xfm functionality. When I add xfm-includes it can't find them eventhough BMAKE_OPT is updated to include ./Map/mdl/include. It seems that BMAKE_OPT is not used since nothing I add there appears in make.opt.

Any good ideas?

Regards,

Krister

  • Finally my friends!

    compOpts was the way to go.

    compOpts + -i"$(GEOINCS)"

    Thanks,

    Krister

    Owner consultant at Surell Consulting AB

  • Krister,

    Jon is correct, if not using C/C++ native code then use of...

    compOpts + i$(GEOINCS)

    ....in your .mke file is correct. It seems the definition of the GEOINCS environment variable may not be pointing to the location of the Bentley Map header files. From your development shell, what does the following command produce?

    dir %GEOINCS%\XfmApi.fdf

    Regards,

    Jeff Bielefeld [Bentley]



  • Hi,

    My make file now look (partly) like this:

    %ifndef CC_LANGUAGE

    langSpec = swedish

    %endif

    privateInc = ./$(langSpec)

    #privateInc = C:\PROGRA~2\Bentley\MICROS~1\Map\mdl\include

    %include mdl.mki

    dirToSearch = $(GEOINCS)

    #dirToSearch = $(genSrc)

    %include cincapnd.mki

    This results in a massive error listing (see below). Switching the comments (quick fix) will make my project compile.

    E:\Lagring\prj\Samlingskartan_v8i\src\SamText\txt_edit.mc(42) : error: can't ope

    n #include file xfmElement.fdf

    E:\Lagring\prj\Samlingskartan_v8i\src\SamText\txt_edit.mc(42) : error: No such f

    ile or directory

    C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\xfmApi.fdf(22) : error: can't

    open #include file xfmApiDef.h

    C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\xfmApi.fdf(22) : error: No suc

    h file or directory

    C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\xfmApi.fdf(23) : error: can't

    open #include file xfmApiTyp.h

    C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\xfmApi.fdf(23) : error: No suc

    h file or directory

    C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\xfmApi.fdf(24) : error: can't

    open #include file xfmSettings.h

    C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\xfmApi.fdf(24) : error: No suc

    h file or directory

    C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\xfmApi.fdf(36) : error: expect

    ed ,, got *

    C:\PROGRA~2\Bentley\MICROS~1\MICROS~1\mdl\include\xfmApi.fdf(37) : error: expect

    ed ,, got IDENT

    ...

    Owner consultant at Surell Consulting AB

  • Unknown said:
    %include mdl.mkidirToSearch = $(GEOINCS)
    %include cincapnd.mki

    That works when you're using the C++ build tools.  It appends /I $(GEOINCS) to the C++ compiler command.

    If you're building a pure MDL application, as Kristel implies he is, then you need this in the make file:

    compOpts + i$(GEOINCS)

     
    Regards, Jon Summers
    LA Solutions

  • Krister,

    The bmake_opt variable is used to define options for bmake.exe such as -I option which defines the Include (.mki) file path, not the header file includes. What you need to do is update your applications .mke file by extending the paths in which the compiler looks for the header and function prototype files. Something such as the following where GEOINCS has been defined in your shell to point to the folder containg the required header files etc...

    %include mdl.mkidirToSearch = $(GEOINCS)
    %include cincapnd.mki

    Regards,

    Jeff Bielefeld [Bentley]