问题标签 [engopen]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2150 浏览

c - 在 Linux 中从 C 连接到 Matlab 引擎

我正在尝试从 Linux 上的 C 程序(Matlab r2009a,Ubuntu 9.10)以编程方式调用 Matlab 引擎。

我有自己的代码(适用于 Windows),但现在我只是想让 Matlab “engdemo.c”程序在 Linux 上运行。我已经设法编译和链接它(在-l<lib>gcc 命令行上包含大约 15 个开关之后),甚至通过一些 ldconfig 魔法解决了所有运行时动态链接。

但是,当程序运行时,我只收到“无法启动 MATLAB 引擎”错误消息并且程序结束,但没有说明失败的原因。

有人做过这项工作吗?我忘了做什么?

ps 我最初在 SuperUser 上问过这个问题,因为我认为它与配置相关,但我看到其他与 Matlab 引擎相关的?在这里所以我想我会试一试。

0 投票
2 回答
1905 浏览

c++ - engOpen 返回 Null

当我尝试从我的 C++ 代码调用 Matlab 函数时遇到问题。

当我调用 engOpen 时,它总是返回 NULL。这是代码:

有人知道如何解决这个问题吗?

谢谢 !!!

0 投票
1 回答
225 浏览

matlab - 无法从 QT 调用 Matlab engOpen

我正在尝试将 matlab 引擎包含在 QT 创建器中。我确信我已经在 .pro 文件中正确设置了 INCLUDEPATH 和 LIBS,因为没有语法或链接问题。我添加了

到我的路径。在我写的 mainwindow.cpp

每次我尝试在调试或发布模式下运行代码时,QT 都会说

正在启动 D:\qt projects\build-VisVehicle-Qt_5_5_0-Release\release\VisVehicle.exe... 程序意外完成。D:\qt projects\build-VisVehicle-Qt_5_5_0-Release\release\VisVehicle.exe 崩溃。

通过注释掉代码,我发现是 ep = engOpen(NULL) 导致了失败。我在 Windows 7 上使用 Matlab R2015a、QT 5.5.0,都是 32 位的。我总是以管理员身份运行 Matlab 和 QT。我还尝试在 cmd 中运行 matlab -regserver 并弹出一个简化的 Matlab 命令行窗口。但是 QT 程序仍然崩溃。每当我对代码或环境进行更改时,我都会仔细清理并重新构建程序,以避免潜在的构建问题。

如果有人给我一些关于这个问题的想法,我将不胜感激。

0 投票
0 回答
110 浏览

c++ - 是否可以运行内部调用 matlab 函数的“C”二进制文件?

我编写了一个C程序,它使用 MATLAB 打开 MATLABengOpen并评估 MATLAB 中的一些值。我通过链接所需的库成功地编译了该代码。但是,不幸的是,在执行该二进制文件时,我遇到了错误

停止工作

我展示了上面的图片。

我正在使用 Windows 8.1 Pro、64 位 RAM 和 MATLAB 2017a。

但是,我通过在 MATLAB 中生成该代码的 MEX 二进制文件成功地运行了该程序。并成功执行了那个 MEX 文件。

是否可以在不生成 MEX 文件的情况下编译和运行使用 matlab 函数的 ac 代码?

这是我使用 gcc 编译器编写和编译的。但是在执行过程中遇到一些问题?

0 投票
1 回答
58 浏览

fortran - Fortran mwPointer 错误:“无法分类的声明”

我正在尝试将mycode.FmwPointer 集成到现有的 Fortran 代码中。mycode.F在我尝试进行任何更改之前,我的编译正确。这是一个摘录:

为了使用engOpen 函数并遵循此 Mathworks 页面,我将代码修改为:

但是当我编译时,我得到以下错误:

有人知道如何解决这个问题吗?

谢谢你的帮助