SimConnect.msi missing

simdev
Posts: 19
Joined: Mon Sep 20, 2010 8:33 pm

Postby simdev » Wed Oct 06, 2010 4:03 am

Hi Guys,



It appears, as if SimConnect.msi is missing within the SDK 1.0.20.1. The SDK says:



Quote:

Also make sure to run the SimConnect.msi installer on the remote client machine which installs the WinSxS library, found in the \lib folder.




Also I after swapping out the FSX simconnect.lib with the Prepar3d one, I get linkier errors:



Quote:

1>Linking...

1>SimConnect.lib(SimConnectClient.obj) : warning LNK4229: invalid directive '/FAILIFMISMATCH:_MSC_VER=1600' encountered; ignored

1>SimConnect.lib(SimConnectClient.obj) : warning LNK4229: invalid directive '/FAILIFMISMATCH:_ITERATOR_DEBUG_LEVEL=0' encountered; ignored

1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _atoi already defined in LIBCMTD.lib(atox.obj)

1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _printf already defined in LIBCMTD.lib(printf.obj)

1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _memmove already defined in LIBCMTD.lib(memmove.obj)

1>MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)

1>MSVCRT.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)




Any input appreciated.

simdev
Posts: 19
Joined: Mon Sep 20, 2010 8:33 pm

Postby simdev » Wed Oct 06, 2010 4:38 am

It appears, as if the new SimConnect.lib is compiled with the /MD flage where the old one from FSX SDK was compiled with /MT. Why this change?

simdev
Posts: 19
Joined: Mon Sep 20, 2010 8:33 pm

Postby simdev » Wed Oct 06, 2010 8:57 am

Additionally, no sxs libraries have been installed during SDK installation and my application linked to SimConnect.lib isn't running and fails to start up properly.



Code:

an application has made an attempt to load the c runtime library incorrectly




Pointers very much welcome.



simdev

Adam Breed
Lockheed Martin
Posts: 1385
Joined: Mon Sep 20, 2010 6:17 pm

Postby Adam Breed » Wed Oct 06, 2010 2:53 pm



Quote:

Quote from simdev on October 6, 2010, 04:03

Hi Guys,



It appears, as if SimConnect.msi is missing within the SDK 1.0.20.1. The SDK says:



Quote:

Also make sure to run the SimConnect.msi installer on the remote client machine which installs the WinSxS library, found in the \lib folder.






The SimConnect.msi will no longer be provided. The documentation is going to be updated to reflect the new process.



The SimConnect.lib is now a static library, so the client code will need to be built directly into your application. Also, since we do not use the Global Assembly Cache for the managed library, your application will have to place the LockheedMartin.SimConnect.dll into the same directory as the application itself.



Quote:

Also I after swapping out the FSX simconnect.lib with the Prepar3d one, I get linkier errors:



Quote:

1>Linking...

1>SimConnect.lib(SimConnectClient.obj) : warning LNK4229: invalid directive '/FAILIFMISMATCH:_MSC_VER=1600' encountered; ignored

...






Your linker errors could be caused by a couple of things:

  • Have you included the new Prepar3D SimConnect headers with the new library? That could be causing the linker errors.

  • Also, Prepar3D’s version of SimConnect is using v100, but it looks like your project is still calling MSVCR90.dll. I would recommend updating your Platform Toolset to v100 and then compiling again.




Quote:

It appears, as if the new SimConnect.lib is compiled with the /MD flage where the old one from FSX SDK was compiled with /MT. Why this change?




The change to /MD was because all Prepar3D builds are done with the /MD. If you believe this is causing you problems, we will be sure to investigate it further.



Quote:

Additionally, no sxs libraries have been installed during SDK installation and my application linked to SimConnect.lib isn’t running and fails to start up properly.




SxS is no longer used by Prepar3D’s SimConnect. If Prepar3D's SimConnect is compiled into your application, this error should not occur.



I hope this helps!
Prepar3D® Engineering Project Manager

simdev
Posts: 19
Joined: Mon Sep 20, 2010 8:33 pm

Postby simdev » Thu Oct 07, 2010 3:58 am

Adam,



Thanks for your fast reply.



- I used the Prepar3D simconnect.h and SimConnect.lib

- I got my DLL linked using /MD. Using /MDd isn't working (it produces a runtime error: http://msdn.microsoft.com/en-us/library/ms235560%28VS.80%29.aspx).

- I didn't put the LockheedMartin.Prepar3D.SimConnect.dll anywhere but I have a valid connection to Prepar3D. Is there still references to the FSX sxs library within the manifest of your SimConnect.lib?



Regards,



simdev


mtomlins
Posts: 8
Joined: Mon Sep 20, 2010 6:39 pm

Postby mtomlins » Thu Oct 07, 2010 10:17 am

simdev,

The LockheedMartin.Prepar3D.SimConnect.dll is a managed wrapper for the SimConnect.lib. The SimConnect.lib and corresponding SimConnect.h is all you need for a C++ SimConnect add on which is why you able to connect to Prepar3D. There is no reference to the FSX sxs library in SimConnect.lib.



What are you using for you development environment?



- Michael

simdev
Posts: 19
Joined: Mon Sep 20, 2010 8:33 pm

Postby simdev » Thu Oct 07, 2010 10:25 am

Michael,



Thanks for your explanations. We're on VS 2008 and currently have no plans to change to VS 2010.



Regards,



simdev

User avatar
Beau Hollis
Lockheed Martin
Posts: 2094
Joined: Wed Oct 06, 2010 3:25 pm

Postby Beau Hollis » Thu Oct 07, 2010 4:16 pm

SimConnect.lib was statically built in VS2010, so you probably can't link into it from VS2008. You can still link against previous versions of SimConnect since the new server is backwards compatible with older clients. That's probably your best bet for now.



Beau
Beau Hollis
Prepar3D Software Architect

simdev
Posts: 19
Joined: Mon Sep 20, 2010 8:33 pm

Postby simdev » Thu Oct 07, 2010 4:22 pm

Beau,



As already said, linking with my own DLL on the flag /MD worked. I could link to previous versions but for the next releases, that's a no go. I'm actually glad it's now statically built, saves at least one configuraiton step per system.



Thanks,



simdev

vertigo
Posts: 40
Joined: Mon Sep 13, 2010 5:08 pm

Postby vertigo » Thu Nov 18, 2010 2:16 pm

Hey Beau,



Working on a remote control system using SimConnect for I/ITSEC and the Learning Center docs have not been updated to reflect that SimConnect.msi is no longer required.



see:



"

The SimConnect.cfg file contains communications information for a client (the SimConnect.xml file contains information for a server). This file is only required if a client is going to access Prepar3D® running on a remote machine, and should be placed in the My Documents folder, or in the same folder as the client application or library, on the computer the client is running on. Also make sure to run the SimConnect.msi installer on the remote client machine which installs the WinSxS library, found in the \lib folder."



Cheers!



Christian




Adam Breed
Lockheed Martin
Posts: 1385
Joined: Mon Sep 20, 2010 6:17 pm

Postby Adam Breed » Thu Nov 18, 2010 4:48 pm



Quote:

Quote from vertigo on November 18, 2010, 14:16

Working on a remote control system using SimConnect for I/ITSEC and the Learning Center docs have not been updated to reflect that SimConnect.msi is no longer required.




Christian,



Thank you for bringing this to our attention. This specific reference will be updated in our next release.
Prepar3D® Engineering Project Manager

vertigo
Posts: 40
Joined: Mon Sep 13, 2010 5:08 pm

Postby vertigo » Thu Nov 18, 2010 8:09 pm

Hi Adam,



Your welcome, its great to provide a little assistance with this great project.



I forgot to mention that there are a numbers of area's in the current doc's that mention "WinSxS library".



Christian


Return to “Software Development Kit (SDK) Questions”

Who is online

Users browsing this forum: No registered users and 16 guests