mex相关内容

MEX文件:如何返回已分配的Matlab数组

我发现了一个非常棘手的问题,似乎很难解决.简而言之,我想从mex文件返回一个数组,该数组已作为mex函数输入传递.您可以这样做: void mexFunction(int nargout, mxArray *pargout [ ], int nargin, const mxArray *pargin[]) { pargout[0] = pargin[0]; } 但这不是我所需要的. ..
发布时间:2020-05-06 12:07:37 其他开发

具有Windows SDK 7.1的Matlab 2012a

我正在尝试设置mex编译器.我使用的是Visual Studio 2012和Matlab 2012a的Windows 8. 我已经下载了 Windows SDK 7.1 和已安装: 但是当我尝试: mex -setup 它说: No supported SDK or compiler was found on this computer. For a list of ..
发布时间:2020-05-06 12:04:36 其他开发

如何直接在Visual Studio中构建mex文件?

我有一个Visual Studio 2010解决方案,其中包含一个函数库,并且我希望能够将MATLAB用作该库的几种可能的前端之一.因此,我希望Visual Studio在构建解决方案时自动生成一个mex文件,而不必将所有构建选项和路径导出到mexopts.bat并打开MATLAB来从那里构建文件.我在这些帖子中看到了一些实现类似目标的建议: Matlab 7.1+和Visual Studi ..
发布时间:2020-05-06 12:01:58 其他开发

使用GCC(MinGW)作为MATLAB的MEX编译器

已为我提供了一个在MATLAB R2011a上运行的项目.由于其中存在多个.c文件-我需要将GCC设置为该项目的MEX编译器.但是,我似乎找不到任何有关如何设置它的解释.我尝试了一个名为gnumex的脚本程序-但它失败了(可能是为旧版本的MATLAB设置的). 有什么想法要设置吗? 解决方案 在Matlab 2011b中,只需在mingw64或cygwin环境中直接编译和链接即可. ..
发布时间:2020-05-06 12:00:51 其他开发

MATLAB Mex套接字包装器库

有人用Mex编写了用于MATLAB的POSIX套接字包装库吗? 我基本上想打开,书写和阅读.同步和异步替代方案都很好.我的主要目标平台是Linux.我知道Mex,也知道POSIX套接字.我只是想确定没有其他人这样做过? 解决方案 如果要使用套接字,则有两个选择: 1)从MATLAB内部使用Java功能(请参见此答案这里是一个简单的例子): MATLAB中的TCP/IP套接 ..
发布时间:2020-05-01 09:16:45 服务器开发

使MATLAB Mex在特定文件夹中搜索库

我创建了一个mex函数,该函数依赖于一个依赖于另一个库的库.当我执行该函数时,它将在运行时输出此错误: Invalid MEX-file ... Library not loaded: /usr/local/lib/libgomp.1.dylib 我的计算机上确实有这个库,但是它位于usr/local/gfortran/lib 所以我尝试了这个: setenv('DYLD_L ..
发布时间:2020-05-01 03:48:50 其他开发

用mex链接和加载静态.lib

因此,我有一个MEX网关脚本文件,该文件调用了我的C源代码.我已使用-L和-I命令将64位编译的GSL库(.libs)链接到mex可执行文件,该文件随后以.mexw64的扩展名进行编译. 我希望将此可执行文件传输到另一台Windows计算机并正常运行,而未安装任何GSL库.那是唯一的解决方案,我不在乎他的论点是关于编译时动态链接/代码生成的好处.我想要一个可执行文件,它不仅具有(当然)已预先 ..
发布时间:2020-05-01 03:26:08 其他开发

在mac上使用mex在Matlab中打开

我有OS X El Capitan和Matlab R2016a,我想使用之前工作过的OpenMP。我已经设法通过自制软件安装gcc-5,并且在那里工作。我可以从这个线索看到 GCC C / C ++ MEX Matlab R2015 Mac OS X(带OpenMP)不起作用,至少在R2014a中,可以手动插入mexopts.sh并对其进行编辑。但是,我没有这样的文件来重定向编译器标志(CC),以 ..
发布时间:2018-04-20 17:34:52 其他开发

Mex在编译Linux中的C代码时会为//产生错误

我想在ubuntu中使用配置了gcc的 mex 来编译C代码。我可以顺利编译OSX中的代码。但是,当我想在Linux中编译它时,编译器会在以 // 开头的注释行上生成错误(它可以很好地与 / * * / 。由于该程序包含来自第三方库的几个头文件,所以我不能用 / *替换 // * / 。 我想知道是否有任何方法可以解决这个问题。 MATLAB版本:R2012b 在Linux中的gcc版本 ..
发布时间:2018-04-20 17:01:55 其他开发

共享库位置为matlab mex文件:

我正在尝试写一个使用libhdf5的matlab mex函数;我的Linux安装提供了libhdf5-1.8共享库和头文件。不过,我的Matlab版本r2007b在1.6版本中提供了libhdf5.so。 (显然,Matlab .mat 文件bootstrap hdf5)。当我编译mex时,它在Matlab中进行段错误。如果我将我的libhdf5版本降级到1.6(不是长期选项),代码编译并运行良好 ..
发布时间:2018-04-20 16:40:21 其他开发

用GNU编译器生成独立的MEX文件,包括库

我编写并编译了一个MEX函数,可以从MATLAB例程中调用,它在我的电脑上运行良好。但是,当我尝试让不同的计算机运行我的例程时,它会打破一个错误,指出模块不存在。我的MEX功能引用了GSL库和其他一些库。我想知道是否可以编译我的MEX函数,以便它是独立的。当我说独立时,我的意思是如果我只是将MEX文件复制到另一台计算机上,并且没有安装库或编译器,它仍然可以工作。 谢谢! 解决方案 您 ..
发布时间:2018-04-18 21:00:36 其他开发语言

在Matlab mex中使用DGESV时出错

我试图在mex文件中解决DGESV的线性系统问题。 当我有一个2x2系统时,mex文件工作正常,没有错误发生,但是当系统大于2时,MATLAB系统错误对话框出现,并且说matlab遇到内部问题并需要关闭。 在64位Windows 10和Intel Composer XE 2013上使用matlab r2016a 编译界面是: mex -lmwlapack * .F ..
发布时间:2018-03-16 17:38:35 其他开发

用gfortran强制显式变量声明

我使用mex连接matlab中的一些Fortran代码(f90),偶尔会有matlab冻结。过去,由于不匹配,我发生冻结之间的数据类型(如整数* 4与整数* 8)。 我链接的代码有许多隐式定义的变量,所以我想知道是否有隐藏的数据类型冲突只能偶尔出现。为了排除数据类型不匹配的原因,我希望编译器要求显式声明所有变量。 问题: 如何获得gfortran要求全部变量在编译时显式声明?否则 ..
发布时间:2018-03-16 17:17:04 其他开发

MATLAB mex不在macOS上寻找编译器gfortran

我需要从MATLAB内部调用一些Fortran代码。我做了一些研究并阅读了 mex 命令以及如何使用它。 首先,这里是我的设置: macOS Sierra 10.12.1(最新版本) MATLAB R2016b(最新版本) gfortran 4.9.2 (通过官方GNU站点的.dmg安装) 根据MATLAB文档,我可以使用 mex - 设置FORTRAN 以准备 mex ,以 ..
发布时间:2018-03-16 17:06:22 其他开发

有没有办法在mex文件中进行try-catch语句?

我知道在C中没有内置的try-catch语句的方法,但MATLAB方便了MEX文件的任何类型的try-catch功能?我试图使用 http://www.di.unipi.it/~nids/docs/longjump_try_trow_catch.html ,但我没有成功。有没有人想出一个方法? 解决方案 你可以在C ++中编写MEX文件,并使用 C ++异常处理。 ..
发布时间:2017-08-28 03:13:44 开发方法

从C访问MATLAB的unicode字符串

如何通过MATLAB引擎或MEX C接口访问MATLAB字符串的底层unicode数据? 这是一个例子。我们把unicode字符放在一个UTF-8编码的文件test.txt中,然后将它读作 fid = fopen('test。 TXT”, 'R', 'L', 'UTF-8'); s = fscanf(fid,'%s') 在MATLAB中。 现在,如果我首先 ..
发布时间:2017-08-16 22:03:26 开发方法