cannot find MSVCP80.dll

Zyzle

01-09-2007 21:21:16

before you ask, yes i have read the other posts about this problem.

sorry for the abrupt start, but this is really getting on my nerves now.

basically I'm trying to create an exe with py2exe as per the instructions here http://www.ogre3d.org/wiki/index.php/PyOgreExecutable the problem is every time i try i get this same error about not being able to find that particular DLL

I've already tried to install the vcredist_x86.exe [several times in fact] both the one from microsoft and the one that comes with the python-ogre precompiled binaries, even though I'm guessing this should have been unnecessary since I already have VC++ Express installed and therefore presumably the runtime DLLs with it

please help.

marcdesm

03-10-2007 03:44:43

I'm a newbie, so this may not be useful, but I think that link you refer too deals with PyOgre, which is not entirely the same as Python-Ogre.

saluk

03-10-2007 04:36:32

You need to exlude the dll from the py2exe setup so it doesn't try to find it, or move it to the directory you are running setup from. As far as I can tell. I have looked for ways to help py2exe find dlls, but the only options available are for excluding them (so it doesn't try to search for them).

In the case of MSVCP80.dll, the user will have to run vcredist_x86.exe anyway, so there is no need to package MSVCP80.dll with your application. I believe this is also the case for MSVCR80.dll.

Here is my setup code to exclude the dll, although the py2exe wiki lists other ways and recommends against using the sys.argv method.


from distutils.core import setup
import py2exe
import sys
sys.argv = ["blah","py2exe","--dll-excludes=MSVCP80.dll,MSVCR80.dll","py2exe"]
setup(windows=["yourscript.py"])


In my case there are other dlls that py2exe couldn't find, my solution was to hardcode their locations and copy them to the same directory as the setup.py before the above code is run, and then delete them afterwards.

If anyone has extra insight on py2exe issues, feel free to comment :)

Zyzle

12-11-2007 19:07:01

oops, kinda forgot all about this post i made :oops:

anyway i finally 'solved' the problem by using this setup;


from distutils.core import setup
import py2exe
import sys

opts = {
"py2exe": {
"excludes": "MSVCP80.dll, MSVCR80.dll"
}
}
setup(options = opts, windows = ["myfile.py"])


i say solved but i haven't actually had a chance to properly test the product yet. been busy with other things. its no longer looking for the dlls in question though.