I'm evaluating pythonnet to see if I should switch from IronPython. So far I'm liking what I'm seeing. I have one question though. I have a managed c++ dll which uses a unmanaged dll which makes use of OpenMP. I have to embed a manifest in my managed c++ dll so that any .exe knows how to get vcomp.dll (the openmp implementation) from the SxS cache. (I really have no idea what all that bullcr*p means, just what I've gleaned from researching the issue - there's something special about OpenMP in this regard.) So the manifest in the managed c++ dll looks like this: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity> </dependentAssembly> </dependency> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.VC80.OpenMP" version="8.0.50608.0" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity> </dependentAssembly> </dependency> </assembly> The second dependency node tells any exe from where to load openmp. All except the python.exe in python.net, this is extraordinarily frustrating. Ultimately though I can work around it, I can embed the OpenMP dependency in python.exe myself, but I'd rather not have to do that. It should just work. Does anyone who understands all this bullcr*p have any insight into what more I need to do to my managed c++ dll to make it work? BTW: Fantastic work on this project, I'm very impressed. Thanks, Mark.
participants (1)
-
Mark Tigges