BMAKE Error

When I try to  BMAKE to compile a MDL application, I get the folliwing error:

BMAKE: Error - Attempting to build with VS 2005 but location is undefined!

My computer has the following Visual Studios installed:

Visual Studio 2003 Professional

Visual C# 2005 Express Edition

Visual C# 2008 Express Edition

Visual Basic 2008 Express Edition

Visual Web Developer 2008 Express Edition

 

 

  • Hi Riley,

    this error message comes from AssertToolSet.mki and it means BUILD_USING_VS2005 is defined but not VS2005Dir in your make process.

    If you want to build plain MDL application without VisualStudio compiler, you should switch off this checking of available VS compilers. Not fully sure, but I think it can be done with if you set NO_COMPILERS_MKI=1 variable in the dev shell.

    If you want to use some from the installed compilers, check what is not defined (VS2005Dir ?) in AssertToolSet.mki.

  • I am having the identical problem with the V8i MDL Compiler.  Did you ever find a solution to this problem?

  • Could you identify:

    1. What is the command line you are using?
    2. What are you trying to compile? (i.e. "pure" MDL, native code, etc.)
    3. Whether or not you are using the MicroStation Development Shell

      

  • If this is pure mdl for V8i try BMAKE -dBUILD_USING_NOTOOLSET
  • Phil,

    I am using the V8i SDK Developer Shell right out of the box. I have all V8i Prerequisites loaded of course.  It looks like it runs alright.  I am attempling to re-compile one of my older MDL's.  The command line I am using is:

    >bmake <filename>

    The error returned is:
    BMAKE Error - Attempting to build with VS 2005 but location is undefined!
    BMAKE: call trace
    line: 120, C:\BENTLE~3\MICROS~1\mdl\include\AssertToolSet.mki
    line: 109, C:\BENTLE~3\MICROS~1\mdl\include\ConfigurePolicy.mki
    line: 28, C:\BENTLE~3\MICROS~1\mdl\include\mdl.mki

    I understand that this error is coming from the AssertToolSet,mki file, and apparently is not finding the Visual Basic files, but I am unable to find the solution to correct this.  I also have Visual Basic 2006 and Visual Basic 2009 Express Edition on my system.  Also I did try the switch -a +dNO_COMPILERS_MKI, but not difference.

    Thanks - Myron

  • Myron:
    >bmake <filename> The error returned is: BMAKE Error - Attempting to build with VS 2005 but location is undefined! I understand that this error is coming from the AssertToolSet.mki file, and apparently is not finding the Visual Basic files.

    We're encouraged to develop using Visual C++ these days. Part of that encouragement is that bmake assumes by default that Visual Studio is installed with the C++ compiler. bmake is complaining that the path to the Visual C++ tools is not defined (as it would be if you had installed Visual C++).

    In other words, this has nothing to do with Visual Basic or VB.NET.

    In your case, bmake is looking for macro VS2005Dir, but it's not defined.

    Regards, Jon Summers
    LA Solutions

     
    Regards, Jon Summers
    LA Solutions

  • Jon Summers:

    We're encouraged to develop using Visual C++ these days. Part of that encouragement is that bmake assumes by default that Visual Studio is installed with the C++ compiler. bmake is complaining that the path to the Visual C++ tools is not defined (as it would be if you had installed Visual C++).

    This means that all addins are C++ projects, but are using another project (VB, C#, CLI) as reference?? 

  • Riley,

    I got same error short time ago with Visual Studio 2005 Express Edition installed.

    After I tried on another PC with Visual Studio 2005 Professional installed and then buld worked great.

    So I suppose that Bmake compiler engine when find any Visual Studio 2005 Edition installed, it tries to use some build tool that unfortunately is not shipped with the Express Edition or simply BMAKE compiler is not compatible with the Express (and free) Edition.

  • Default BMake Configuration

    DanPaul:
    bmake assumes by default that Visual Studio is installed with the C++ compiler. bmake is complaining that the path to the Visual C++ tools is not defined (as it would be if you had installed Visual C++). This means that all addins are C++ projects, but are using another project (VB, C#, CLI) as reference??

    Not at all: the key phrase above is by default. Make files are extremely versatile. However, they evolved during the early days of UNIX and have inherited the cryptic nature of early UNIX utilities. You can write a make that will do pretty well anything that your operating system and installed toolset allow you to do.

    There are clearly some make experts in Bentley Systems, but as you've no doubt noticed they aren't too hot on documentation or explanation. O'Reilly published a book about make but that's long out of print. They currently list Managing Projects with GNU Make.

    If you can figure out how make works, you will be able to write a bmake file that uses your .NET project. Maybe Mark Anderson can provide more info on this at some future BDN meeting or web session.

    Biagio:
    I got same error short time ago with Visual Studio 2005 Express Edition installed. After I tried on another PC with Visual Studio 2005 Professional installed and then build worked great. I suppose that Bmake compiler engine when find any Visual Studio 2005 Edition installed, it tries to use some build tool that unfortunately is not shipped with the Express Edition.

    You get what you pay for, and you didn't pay anything for Visual Studio 2005 Express Edition. Those free tools omit what Microsoft considers to be stuff for 'professional developers'.

    The cost of Visual Studio 2005 Pro is less than the accumulated cost of the time spent by people answering questions about Express Edition on this forum. If you search the archives you will find that Mark Anderson already commented about this issue.

    Regards, Jon Summers
    LA Solutions

     
    Regards, Jon Summers
    LA Solutions