【问题标题】:Compiling an Octave mex file through Visual Studio 2013通过 Visual Studio 2013 编译 Octave mex 文件
【发布时间】: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 位编译,这给了我其他错误。但是,切换回来解决了这个问题。干杯

标签: c++ octave mex


【解决方案1】:

文件位于:

C:\Octave\Octave-3.8.2\lib\octave\3.8.2

我使用了 liboctave.dll.a 和 liboctinterp.dll.a

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 2014-03-01
    • 2014-07-17
    • 1970-01-01
    • 1970-01-01
    • 2013-12-30
    相关资源
    最近更新 更多