Sign in to follow this  
Guest zip

MSVC 7.1 (Visual Studio 2003) redist

Recommended Posts

Hi, I have a FS4 gauge in development (should be published here soon as freeware) that works fine and dandy on three test machines. Two use XP, one uses W2K. I have one tester who can't get the code to load. The gauge blows up on his XP system with an aircraft/gauge error after selecting it from the a/c menu. This prevents the airplane from being loaded. This only occurs if the panel.cfg makes a reference to the gauge file. The panel.cfg is properly configured.I'm thinking that it's because a required runtime DLL isn't on the system. I walked through the code with dependency walker, and determined that the runtime library msvcr71.dll must be on the system in the windows folder to load. It turns out that after VC 6.0, MS opted to no longer includes the C runtime DLLs as part of service packs for the O/S.Has anyone ran into writing a gauge using VC++ 7.1 and re-distributing the code, or into a aircraft load issue because of a gauge file?Again, I'm puzzled because the gauge runs fine on three separate systems. Any help is appreciated.

Share this post


Link to post
Share on other sites
Help AVSIM continue to serve you!
Please donate today!

Is there really a need for the linked DLL? If not you should clean up the link directive of the gauge. Without anything "fancy" in the gauge (sound, gdi+, etc.) you generally only need user32.lib.Arne Bartels

Share this post


Link to post
Share on other sites

Yes, the standard runtime library includes the math routines and the file IO stuff. The library, static or not, still requires this dependency. :(

Share this post


Link to post
Share on other sites

Even MS FS team got bit by this when they issued the resample.exe file during beta testing. The MS engineer reissued it by compiling with with a different program so the extra *.dll wasn't necessary. At that time, I scoured the internet and fould a zip file with the *.dll needed.I think I saw your gauge and you supplied the *.dll, although I didn't see in the readme where you said to place the file. Does it go into the Windowssystem32 (Windowssystem - Win98/ME) folder or go into the local flightsimulator 9 folder?Are you "zip" now!!! :-lolW. Sieffert

Share this post


Link to post
Share on other sites

Hi.Not sure if it's the same in VC7.1 - I'm using 6 - but there should be an option specifying the type of linking you want. The choices were various combinations of single-thread, multi-thread, debug and DLL. If you pick one of the non-debug, non-DLL versions it may do the trick.Cheers,Jim Keir

Share this post


Link to post
Share on other sites

Yes I supplied the runtime part of the archive after discovering that was the problem.The C runtime library is different with every version of Visual C++, and MS apparently changed two things about runtime library support after VC 6.x:a) the runtime is specific to each compiler and the generic msvcrt.dll file is now specific to the operating system alone.:( the runtime is no longer included with the service pack, nor with the dot net framework apparently.As far as the gauge goes, the runtime files go in the main system32 folder for your operating system. Microsoft says to place it in the same folder as the application, but apparently that doesn't work for GAU files because FS9.exe doesn't include that as part of the search path.Hope this helps.E, aka, zip (long story).

Share this post


Link to post
Share on other sites

I just caught your note about the static link DLL. This is not an option I was able to find with the 7.1 linker. The static lib does use that external DLL no matter what I try. Perhaps one of the "should be obvious" compiler options I need to extract :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this