我已经从 Haskell 代码创建了一个 DLL,并从 C++ 调用这个 DLL。当我在 Visual Studio 2010 中以调试模式运行时,我的应用程序工作正常,但是当我进行发布构建并安装它时,出现错误
无法在动态链接库 AdvancedMath.dll 中找到过程入口点 GetDataChunk。
AdvancedMath.dll 是我的基于 Haskell 的 DLL。奇怪的是,函数 GetDataChunk 并不在该 DLL 中,而是在我链接的另一个 DLL 中,并且没有任何相关内容that当我添加 Haskell DLL 时,DLL 或我的应用程序对它的使用发生了变化。
此错误消息似乎表明 Windows 对哪些函数位于哪些 DLL 中感到困惑。这里可能出了什么问题?
这看起来是 Visual Studio 2010 发布模式中的一个错误(Haskell dll 函数不是由发布模式下构建的 exe 导入的,因此 Haskell dll 未加载,在调试导入中存在并且工作正常)。
使用 Visual Studio 2013 Update 4 和 Visual Studio 2015 RC 在发布模式下构建的相同 exe 项目运行良好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)