相关疑难解决方法(0)

编译C++ 11代码作为MATLAB mex文件的一部分

我有一段用C++ 11编写的代码,我想将其编译为GNU/Linux的MATLAB MEX文件的一部分.

问题是Linux上的MATLAB仅支持GCC 4.3(及更早版本),并且不支持编译我的C++ 11代码所需的GCC 4.7.

有可能解决这个问题吗?

是否可以通过使用GCC 4.7编译一些目标文件并使用GCC 4.3将它们链接到MEX文件来解决这个问题?

提前致谢!

c++ matlab-deployment c++11

6
推荐指数
1
解决办法
1346
查看次数

将MATLAB链接到DLL库

我试图从MATLAB工具包' oscmex ' 执行一些示例代码.该工具包允许使用OSC协议通过MATLAB进行通信.我认为这个问题不具体; 它应该适用于以这种方式设置的任何工具包.

抛开原因,我在启动和运行工具包时遇到了一些麻烦.该工具包没有任何文档; 只有一组六个DLL文件(在一个目录中),以及一组四个MATLAB'.m'示例代码文件(在另一个目录中).我过去使用的每个工具包都是内置工具包或者具有直观(半自动)安装过程.

下载工具包后,我尝试的第一件事就是简单地运行一个'.M'示例代码.这失败了,因为代码的第一行包含函数osc(),它没有(当前)被MATLAB识别.

所以,我想我可能需要将'.M'文件移动到与DLL相同的文件夹中; 也许MATLAB会看到DLL中的函数.没有骰子.

所以,我意识到我必须以某种方式在启动时将MATLAB链接到DLL.我尝试将DLL添加到文件夹并在'pathdef.m'文件中添加一个条目.这也失败了.

我已经读过一些可以使用loadlibrary()函数加载DLL文件的地方.所以,我试着为DLL文件做这个.第一个文件失败:

>> loadlibrary('osc_free_address.dll')

Error using loadlibrary>lFullPath (line 587)
Could not find file osc_free_address.h.
Run Code Online (Sandbox Code Playgroud)

我开始耗尽选项......我怎样才能启动并运行这组DLL?

dll matlab

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×1

c++11 ×1

dll ×1

matlab ×1

matlab-deployment ×1