【发布时间】:2015-01-06 07:02:06
【问题描述】:
我刚从 Matlab 切换到 Octave,想继续通过 Visual Studio 将 mex 文件编译为 DLL。
我有一个项目,它创建一个 dll 并像以前一样导出 mexFunction。我还包含在 Octave 中找到的 mex.h 文件,但我无法链接。
目前我收到一个链接错误说明:
error LNK2019: unresolved external symbol __imp_mexPrintf referenced in function mexFunction
我明白为什么,但我不知道要解决这个问题要包括什么。
有人可以帮忙吗?
谢谢
亨里克
【问题讨论】:
-
当您编译 mex 文件以用于 MATLAB 时,您需要将它们与 libmx 和 libmex 链接,我假设您缺少 Octave 提供的这些或类似的库。
-
@Praetorian。情况正是如此。但是,我还没有弄清楚它们在 Octave 框架中的位置。
-
您应该尝试首先使用命令行
mex命令编译 Octave 提供的一些示例源文件,将详细 (-v) 开关传递给它,然后查看传递的库的名称在链接器命令中。 -
谢谢。那给了我图书馆。但是,我试图进行 64 位编译,这给了我其他错误。但是,切换回来解决了这个问题。干杯