Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: foo_gym not working with 0.8.2 (Read 4843 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

foo_gym not working with 0.8.2

I upgraded to Foobar2k 0.8.2 today. 
The most recent (May 15!) version of foo_gym doesn't seem to be working, despite the fact that it was attestedly compiled for 0.8.2.  Upon Foobar's launch, I'm greeted with "ERROR (CORE) : Failed to load DLL: foo_gym.dll, reason: Unable to load DLL."

I would have contacted the plugin author himself, but he listed no means to do so.

foo_gym not working with 0.8.2

Reply #1
Sounds like msvcr71.dll isn't loading.

Quick solution: install .NET Framework if you haven't already, then copy msvcr71.dll from %windir%\Microsoft.NET\Framework\v1.1.4322 to %windir%\system32

Or you could probably get away with just downloading msvcr71.dll from somewhere, but I just get an uneasy feeling about doing something like that unless it's coming from Microsoft.

foo_gym not working with 0.8.2

Reply #2
You do not need the framework just for those libraries. A simple Google search for msvcr71.zip should suffice.

It would also help if enough people adopted this hack for backwards compatibility. It works most of the time. You should check your binaries for msvcr71.dll references anyway, of course. This is a dirty hack, so use with caution.

Add this to your project's linker command line:

Quote
/nodefaultlib:msvcrt.lib "%msvcdir%\lib\msvcrt.lib" msvcrt.lib


If that fails, resolve that environment variable to your Visual C++ installation directory.

foo_gym not working with 0.8.2

Reply #3
Quote
Quick solution: install .NET Framework if you haven't already, then copy msvcr71.dll from %windir%\Microsoft.NET\Framework\v1.1.4322 to %windir%\system32

Thank you, that worked perfectly!
How did you know to copy that specific DLL?  None of my other plugins were giving me problems...

foo_gym not working with 0.8.2

Reply #4
Quote
Quote
Quick solution: install .NET Framework if you haven't already, then copy msvcr71.dll from %windir%\Microsoft.NET\Framework\v1.1.4322 to %windir%\system32

Thank you, that worked perfectly!
How did you know to copy that specific DLL?  None of my other plugins were giving me problems...

You should have had an error "cannot find msvcr71.dll" or something as a popup box when starting foobar.  At least it did for 0.8.1.  Anyway, I've had that error in a couple programs, so I knew what to look for.

foo_gym not working with 0.8.2

Reply #5
Thank you for recommending that everyone download 19MB of crap that they don't need just so that they can dig a single DLL out of the resulting installation.

foo_gym not working with 0.8.2

Reply #6
Dude, no need to get pissy.  I already had the .NET framework installed, so all I needed to do was copy/paste.  =p

foo_gym not working with 0.8.2

Reply #7
Ah yes, sorry about that.  There was a push to VS.net 2003 around here so that's what I used to build the latest foo_gym.  Guess I should have noted that in the readme.  As for not putting in a way to contact me, errr, ummm, how bout that.  Guess I was a bit too paranoid about giving spammers yet another way to find me. 

foo_gym not working with 0.8.2

Reply #8
Quote
<snip>

Add this to your project's linker command line:

Quote
/nodefaultlib:msvcrt.lib "%msvcdir%\lib\msvcrt.lib" msvcrt.lib


If that fails, resolve that environment variable to your Visual C++ installation directory.

<snip>

Thanks, I'll give this a shot and see if I get a working binary out of it.  Most likely yes, in which case I'll re-up it.

foo_gym not working with 0.8.2

Reply #9
Quote
Thank you for recommending that everyone download 19MB of crap that they don't need just so that they can dig a single DLL out of the resulting installation.

Did you miss the part where I said "Or you could probably get away with just downloading msvcr71.dll from somewhere"?  You already made your point in your first post.  People who have at least an iota of intelligence and know how to use foo_gym should know enough to be able to find a copy of a DLL somewhere on the Internet if they don't want the framework, especially since the option was mentioned explicitly in the second and third posts.

Anyway, since I was paranoid about non-Microsoft downloads, here are some msvcr71.dll hashes:

MD5: 86F1895AE8C5E8B17D99ECE768A70732
SHA1: D5502A1D 00787D68 F548DDEE BBDE1ECA 5E2B38CA

Of course, that means you have to trust me, but it happens to match both the .NET Framework copy and the first copy that comes up when Googleing for an msvcr71.dll download.  And if you don't trust me... well, download the .NET Framework and prove me wrong.  I'd suggest extracting the files from the redistributable, but I'm looking through it and can't find any matching files, and thus no trivial way to get it.  Oh, well.

Oh, and thank YOU, Kode, for going out of your way to flame me even after making your point, for apparently no other reason than disagreeing with my method of obtaining a DLL, even though it solves the problem, and I gave the alternate solution as well.