I have created a DLL from Haskell code and I am calling this DLL from C++. My application works fine when I run it in Debug mode in Visual Studio 2010, but when I make a Release build and install it, I get the error
The procedure entry point LVSpecData_GetGlob could not be located in the dynamic link library SpectrumMath.dll.
SpectrumMath.dll is my Haskell-based DLL. The weird thing is that the function LVSpecData_GetGlob isn’t in that DLL—it’s in another DLL I link against, and nothing about that DLL or my application’s use of it changed when I added the Haskell DLL.
This error message seems to be saying that Windows is confused about which functions live in which DLLs. What could be going wrong here?