【发布时间】:2011-04-04 09:37:50
【问题描述】:
我的问题可能与此重复:matlab mex files and C++ dll (windows),但不完全是。
当我尝试从 Matlab 的 mex 文件(Visual Studio 2008、Windows 7 64 位、Matlab 2010b)中显式加载 dll 时,加载在运行时失败(我得到一个 NULL 句柄)。当不在 mex 文件中使用时,相同的代码可以正常工作。
当我尝试通过链接到 .lib 文件来隐式加载时,我收到关于 dll 中定义的函数的链接器错误 unresolved external symbol。同样,当不在 mex 文件中使用时,相同的代码也可以正常工作。
原因是否与上述 SO 问题的答案相同,还是我遗漏了什么?如果原因相同,除了上述问题中的建议之外,还有其他解决方案吗?
【问题讨论】:
-
链接的DLL是否在路径中?如果没有,那么系统如何找到它?
-
对于调试,我使用绝对路径来避免此类问题,正如我所写,相同的代码在没有用于 mex 文件时完全可以正常运行。
-
嗯,有什么不一样的不是吗?
标签: visual-studio-2008 matlab dll mex loadlibrary