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
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
%include mdl.mki
dirToSearch = $(GEOINCS)%include cincapnd.mki
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
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
...
Owner consultant at Surell Consulting AB
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
Finally my friends!
compOpts was the way to go.
compOpts + -i"$(GEOINCS)"
Thanks,