Non MS Visual Studio user

d1049
Posts: 3
Joined: Sun Feb 17, 2019 8:08 pm

Non MS Visual Studio user

Postby d1049 » Sun Feb 17, 2019 9:17 pm

Unfortunately, no 64-bit SimConnect DLL is provided in the P3Dv4 SDK, but a static library compatible with MS Visual Studio 2017. Too bad, when you are not a user of this development environment; note that Dovetail Games provided a 64-bits DLL with the late Flight Sim World.

My favourite IDE is Embarcadero C++ Builder, I did not manage to convert the P3D library to something compatible.
My workaround was: download MS VS 2017 Community, install the C++ part, and code a small 64-bit SimConnect DLL that exports the names of the 22 functions I currently use (not very exciting).
So, now, my C++ Builder applications can link dynamically to this DLL and work normally (with a little overhead), even as a P3D dll's or add-ons. Should I need another function, I would have to update the DLL, which means that I must keep VS 2017 somewhere.

Please, Lockheed Martin, next time, provide not only the 32-bit version of SimConnect.dll, but also a full 64-bit version; that would be helpful.

User avatar
Simbol
Posts: 348
Joined: Thu Sep 07, 2017 10:24 pm
Location: UK
Contact:

Re: Non MS Visual Studio user

Postby Simbol » Mon Feb 18, 2019 11:29 am

Hi There,

I really don't understand what you are asking, LM is providing all the steps to be able to work on x64 bit with C++ or managed code, you have the .h header file and the .lib file, the rest is up to you.

  • Ensure the Platform Toolset (Configuration Properties, General) is set to Visual Studio 2017 (v141).
  • Include the SimConnect.h header file.
  • Link to the SimConnect.lib library, by adding SimConnect.lib to the Additional Options of the Command Line (see image below). If SimConnect.lib is not local to your project, ensure its folder path is included in Additional Library Directories (Configuration Properties, Linker, General).
  • Build the application using the function calls described in this document.
All Projects

  • Ensure that the Solution Platforms, in Visual Studio 2017 or later, have been set to 64-bit. While SimConnect interfaces are backwards compatible with legacy 32-bit SimConnects, all new development should be done as a x64 solution.
  • Ensure the SimConnect.ini file is placed in your %USERPROFILE%\Documents\Prepar3D v4 Files folder. A default version of this files can be found in the SDK\config\SimConnect directory.You do not usually have to make any changes to this file. The SimConnect.ini file provided ensures that the SimConnect debug window opens to display communication information between the server and the clients.
  • If the client is to work remotely, write a SimConnnect.cfg file for it.
  • By default, SimConnect is disabled. To enable it, you must copy the necessary configuration files to the correct locations. Default versions of these files can be found in the SDK\config\SimConnect directory. Ensure the EXE.xml, DLL.xml files and SimConnect.xml files are placed in either the %APPDATA%\Lockheed Martin\Prepar3D v4 or %PROGRAMDATA%\Lockheed Martin\Prepar3D v4 folder, and edit these files according to the instructions that follow.
  • Run Prepar3D to test your SimConnect client.
And of course if you wish to work with managed code (.NET 4.7.2), you just add a new reference to LockheedMartin.Prepar3D.SimConnect.dll which is located inside SDK\lib\SimConnect\managed
and of course it is also x64.

All the information above is explained inside the P3D Learning Center.

Regards,
Image
CEO Flight Sim Technologies Ltd
Oficial Website: https://www.FSReborn.com


Return to “SimConnect Interface Questions”

Who is online

Users browsing this forum: No registered users and 3 guests