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,
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
Jeff Bielefeld [Bentley]
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
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
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
...
Unknown said:%include mdl.mkidirToSearch = $(GEOINCS)%include cincapnd.mki
dirToSearch = $(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:
Regards, Jon Summers LA Solutions
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