I've built a small script in a scripting language to utilize a DLL written in C++ that utilizes the OpenCV lib.
On the development computer it works fine. Porting it to a virtual machine however the script runs as necessary up to the point that the DLL is called. The DLL get's called, but it doesn't return a value to the script. This means that the DLL is not doing it's job. Why would it work in one environment but not another?
The Lib DLL's that were utilized in the DLL were also included with the files to the virtual machine.
The most common mistake is that you have the wrong version of MSCRT installed on the VM, or that you have multiple versions of the MSCRT installed and your program is using the wrong one. If that's not the case then we would have to know more about what DLL_PROCESS_ATTACH is doing. You're not calling LoadLibrary() from DLLMain, are you?
No, I didn't, however what you said made me think further about dependancies, and I realized I forgot to include the VS c++ runtime re-distributable as most machines already have that installed.
I installed it and the problem was solved.
Thanks for the response, it put me on the right track.