1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.Targets(43,5): warning MSB8005: The property 'NMakeBuildCommandLine' doesn't exist. Skipping...
Just starting out . . . Previous limited experience using V8i MDL.
Trying to get started to do some converting of my V8i mdl apps to Connect. Battling to get the environment set up.
I have VS2017 Installed.
Connect SDK (v10.13.00.48) builds all examples successfully. I had to download .NET Framework 4.6.2 to get it to eventually work.
'devenv' invokes VS2017 ok.
When trying to "Build" MyApp.sln, the following error occurs.
Any ideas please?
I was struggling with this too. I was running VS2015 initially so I thought it would be resolved by installing VS2017, but this gave me the exact same error.
My solution was to simply go to the project settings and fill the build command lines:
Now I can build from VS2017.
One additional note with regard to this most recent (helpful) image posted...
Make sure to set your Project Property for "Platform" property accordingly:
what do you mean by this? how to set the two property
you mentioned?
x64 for CE
and 32 for V8?
amender carapace said:what do you mean by this? how to set the two property MicroStation CONNECT (64-bit) MicroStation V8 (32-bit).
MicroStation CONNECT is a 64-bit app. When you create an application for MicroStation CONNECT you must tell Viz Studio to build a 64-bit DLL.
MicroStation V8 is a 32-bit app. When you create an application for MicroStation V8 you must tell Viz Studio to build a 32-bit DLL.
Set those properties in Viz Studio using the Configuration Manager.
Regards, Jon Summers LA Solutions
I'm not convinced this will make any difference. Isn't the target platform defined by whatever MicroStation SDK is being used?
MarkSmit said:Isn't the target platform defined by whatever MicroStation SDK is being used?
If your bmake file begins with this...
PolicyFile = MicroStationPolicy.mki DEFAULT_TARGET_PROCESSOR_ARCHITECTURE=x64
But, if you're using Viz Studio, you need to use the Configuration Manager as mentioned above.
MarkSmit said:I'm not convinced
Convince yourself: use the above to build your app. successfully using either bmake or Viz Studio.
OK I usually use a sample bmake file as template so in that case it should contain these definitions and the target platform set in Visual Studio becomes irrelevant. In any case: I don't see the point in attempting to build a Win32 app for CONNECT, so it wouldn't have surprised me if the CONNECT SDK overruled this setting.
Cheers,
Mark.
MarkSmit said:the target platform set in Visual Studio becomes irrelevant
If you're building using bmake, which is usually the best approach for a C++ app., then Viz Studio doesn't come into it. Your bmake invokes a number of make include (*.mki) files, which are brought into play when you %include mdl.mki. Those make files supply all the rules for building a C++ project, including the C++ compiler switches and C++ linker instructions.
*.mki
%include mdl.mki
If you turn on bmake's verbose option, you can see all those C++ switches. There are lots of them.
However, IntelliSense is a huge benefit. Some people like Viz Studio as a C++ code editor but use bmake to build the project. When writing a .NET AddIn, you can do everything with Viz Studio.
So, under the right circumstances, the Viz Studio target platform is important.
That's how I work (C++ / bmake / VS2017), and I totally agree that IntelliSense is a great help. I had to struggle a little to have a it point to the right set of include files (always need to examine which compiler switches the bmake files produce, any tips on that would be most welcome) and it isn't reliable in all cases but nevertheless I find it reduces development time. Yes I suppose it could behave differently depending on the target platform set in VS.
BTW another great benefit is debugging in Visual Studio.
Hi MarkSmit,
At your earliest convenience I suggest you consider updating to the latest MicroStation CONNECT Edition SDK Update 16 release.For specific details/updates, see: "MicroStation Developer Shell" section bulleted items:
I updated the MicroStation Developer Shell environment to limit use of Microsoft 8DOT3NAME requirements within the developer environment that translates to much better/improved Microsoft Intellisense compatibility within both new and existing Visual Studio Projects that rely on/use MicroStation SDK variable references (e.g. MicroStation SDK Include directories).
HTH,Bob
Hi Rob ,
Thanks for your suggestion. I certainly will after the current project.
Kind regards,
Mark .