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
Unknown said:When I add xfm-includes it can't find them eventhough BMAKE_OPT is updated
Please post your definition of BMAKE_OPT.
Regards, Jon Summers LA Solutions
Unknown said:I know I'm a old timer but I never seem to get the time to enter the VC-world
The transition is really quite harmless!
All the MDL examples in the V8i SDK are C++ (.cpp) files. In fact , there's almost no C++ in those files, but they do use the Microsoft C++ tools (i.e. Visual Studio compiler and linker) to build an application.
The bmake (.mke) files look similar to what you are used to. bmake invokes the Microsoft tools for you and builds a native-code application DLL.
Of course, you need to acquire Microsoft Visual Studio, but I believe that the Express editions work OK.
BMAKE_OPT is set as defined by the geodevshell.bat, ie:
REM ---------------------------------------------------------------------------------------------------------
REM Extend the BMAKE_OPT environment variable setting.
SET BMAKE_OPT=%BMAKE_OPT% -I$(GEOINCS)
SET BMAKE_OPT=%BMAKE_OPT% +dDEBUG
I could change this to anything but the output in make.opt would still be the same.
I've solved it for now by "stealing" the privateInc variable in the make file, but that meant I had to copy my llanguage files to the parent directory. Ugly, but it works.
/Krister
Owner consultant at Surell Consulting AB
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]
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)