Search code examples
c++visual-studio-2010dllentry-point

Visual Studio C++ 3rd Party dll's prevent .exe from running


I am new to C++ an I am making an application in Visual Studio 2010 using an SDK which has 3rd party dll's. I want to be able to run this program on other computers so I looked at this question to make sure I include them right (specifically Laserallan's answer). I then build the program in release mode and it compiles fine. The problem is, when I try to run the .exe in the sample release folder the program doesn't run. Not sure if these detals are relevent but my project uses MFC in a static library and Multi-Threaded(MT) runtime library. Incremental linking is not enabled.

My suspicion is that it has something to do with the dll's being in the same place as the .exe because if I move one of them out of the sample release folder, I get this error:

enter image description here

I also noticed this in the SDK's API. I'm not sure if it is relevent or not:

"The eBUS SDK is provided as DLLs. Static libraries are not offered at this point. Even though DLLs are provided, it is still necessary to link your application against link libraries of the DLLs."

The .exe was working fine before, It only started mucking up when I tried to put the dll's in the same place as the exe, tried to make it work on other computers and when I reinstalled the SDK. Does anyone have any ideas on what it could be? It has been doing my head in for the past 2 days now. Any help would be greatly appreciated.


Solution

  • I solved it, turns out the new computer had 2 versions of PvBuffer, one had the GetAcquiredSize method and the other didn't. The program was executing the version that didn't and was trying to find a method that wasn't there. Thanks for your help!