On 10/19/2010 10:17 AM, Monde, John wrote:
Hi,
I am having a problem moving my boost python extension to a different machine than my development machine. On my development machine everything works great, I can access my C++ classes through python without any problems but when I copy my .pyd (Python_ext.pyd) to my target machine I get the error “DLL Load failed The specified module could not be found” in my Python program when I attempt to import the .pyd (import Python_ext)
I am using Boost_1_42. The .pyd was built using BJAM and my compiler is MSVS 2003 and python26. Python26 is on both the development and the target machine. I had similar problem when I moved my python .pyd extension module to a different directory on my development machine but I fixed that by copying the boost dll boost_python-vc71-mt-gd-1_42.dll to the directory with my .pyd module and it ran great there. I tried to do the same thing on my target machine. I copied my python program, the .pyd extension module and the boost DLL (boost_python-vc71-mt-gd-1_42.dll) to the same directory on my target machine and still get the same error. Both machines are windows XP.
Perhaps the target machine lacks the appropriate MSVCRT C runtime library? This will almost certainly be the case if you are making a Debug build and do not have MS development tools installed on the target machine. You'll need to figure out the exact missing dependencies and install the package which provides them. There may not actually be a package for the Debug versions, as they're not considered "redistributable". This is the intended behavior of MS products, so you'll probably find lots of info online searching for MSVCRT and that error message. - Marsh