2

I finished my first program! I'm having trouble making a binary using Python 3 and cx_freeze. The binary runs on my computer, but on another computer I'm testing it on, I get the message "Can't find MSCVR100.dll". I looked this up, and it appears to be a visual studio C++ file.

I located the DLLin my Windows/sysWOW64 directory, and moved it into my application directory on the computer with the error. (Both are Win 8 64-bit) I now receive an error 0xc000007b, which appears to be a 64-bit compatibility error. This website describes receieving these two errors in sequence, presumably using C++. He found the fix to be installing Visual Studio. Doesn't make sense.

Very little of the information available on either the DLL or the 07b error mentions python or cx_freeze, which is why I'm stumped. The program does use QT, which I feel may have something to do with it. Any ideas?

Turtles Are Cute
  • 3,200
  • 6
  • 30
  • 38
  • If you're using a 32-bit Python (i.e. if `sys.maxsize` is 2147483647), you need to copy the 32-bit version of the DLL, not the 64 bit version. Installing Visual Studio probably puts both DLLs on the machine, but that's kind of using a sledgehammer to crack a nut. – Thomas K Apr 18 '13 at 22:55
  • How do I get the 32-bit version? The version in sys32 and syswow64 are the same size, and appear to be the same file. Dll-files.com only has one version as well, the same as I have, with instructions saying to put it in sys32 for or syswow64 depending on which you want. None of these versions fix the problem. – Turtles Are Cute Apr 19 '13 at 01:06
  • 2
    If you install this on the target computer, does it work? http://www.microsoft.com/en-gb/download/details.aspx?id=5555 – Thomas K Apr 19 '13 at 16:39
  • Yep. Good call.[link]http://cx_freeze.readthedocs.org/en/latest/overview.html#microsoft-visual-c-2008-redistributable-package[/link] Installing Vis C++ 2010x64 worked. I'd like to find the .dlls it uses; the ones in the cx_freeze link are for the 2008 version. – Turtles Are Cute Apr 19 '13 at 23:45
  • I've got a pull request to update the docs. Try fiddling with [process explorer](http://technet.microsoft.com/en-gb/sysinternals/bb896653.aspx) - I think that can show what DLLs a process is using. – Thomas K Apr 20 '13 at 11:52
  • 1
    Thanks Thomas - you solved my problem. Found the DLLs with process explorer. The ones required for my program (others might need more?) from Vis C++ 2010x64 are msvcr100.dll and msvcp100.dll from the Sys32 directory. – Turtles Are Cute Apr 20 '13 at 16:00

0 Answers0