mex相关内容
我发现了一个非常棘手的问题,似乎很难解决.简而言之,我想从mex文件返回一个数组,该数组已作为mex函数输入传递.您可以这样做: void mexFunction(int nargout, mxArray *pargout [ ], int nargin, const mxArray *pargin[]) { pargout[0] = pargin[0]; } 但这不是我所需要的.
..
我正在尝试设置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
..
我有一个Visual Studio 2010解决方案,其中包含一个函数库,并且我希望能够将MATLAB用作该库的几种可能的前端之一.因此,我希望Visual Studio在构建解决方案时自动生成一个mex文件,而不必将所有构建选项和路径导出到mexopts.bat并打开MATLAB来从那里构建文件.我在这些帖子中看到了一些实现类似目标的建议: Matlab 7.1+和Visual Studi
..
已为我提供了一个在MATLAB R2011a上运行的项目.由于其中存在多个.c文件-我需要将GCC设置为该项目的MEX编译器.但是,我似乎找不到任何有关如何设置它的解释.我尝试了一个名为gnumex的脚本程序-但它失败了(可能是为旧版本的MATLAB设置的). 有什么想法要设置吗? 解决方案 在Matlab 2011b中,只需在mingw64或cygwin环境中直接编译和链接即可.
..
有人用Mex编写了用于MATLAB的POSIX套接字包装库吗? 我基本上想打开,书写和阅读.同步和异步替代方案都很好.我的主要目标平台是Linux.我知道Mex,也知道POSIX套接字.我只是想确定没有其他人这样做过? 解决方案 如果要使用套接字,则有两个选择: 1)从MATLAB内部使用Java功能(请参见此答案这里是一个简单的例子): MATLAB中的TCP/IP套接
..
我编写了以下形式的程序: #include "stuff_I_need.h" int main(){ construct_array(); // uses OpenMP pragma's print_array(); return(0); } 使用以下命令正确编译,链接和运行: `gcc44 -I/home/matteson/sundials/include/ main.
..
我创建了一个mex函数,该函数依赖于一个依赖于另一个库的库.当我执行该函数时,它将在运行时输出此错误: Invalid MEX-file ... Library not loaded: /usr/local/lib/libgomp.1.dylib 我的计算机上确实有这个库,但是它位于usr/local/gfortran/lib 所以我尝试了这个: setenv('DYLD_L
..
因此,我有一个MEX网关脚本文件,该文件调用了我的C源代码.我已使用-L和-I命令将64位编译的GSL库(.libs)链接到mex可执行文件,该文件随后以.mexw64的扩展名进行编译. 我希望将此可执行文件传输到另一台Windows计算机并正常运行,而未安装任何GSL库.那是唯一的解决方案,我不在乎他的论点是关于编译时动态链接/代码生成的好处.我想要一个可执行文件,它不仅具有(当然)已预先
..
现在,MATLAB 2012a中的mex仅正式支持gcc 4.4.6,但我要自担风险使用gcc 4.7.现在,如果我直接用mex编译东西,它会抱怨 /usr/lib/gcc/i686-linux-gnu/4.7/cc1plus: /usr/local/MATLAB/R2012a/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.15' no
..
我正在使用gnumex与mingw编译Windows操作系统中matlab中的mex文件。我无法使用fopen命令打开文件。以下是我正在使用的代码。 #include #include“mex.h” void mexFunction(int nlhs,mxArray * plhs [],int nrhs,const mxArray * prhs []) { FILE * fp
..
我有OS X El Capitan和Matlab R2016a,我想使用之前工作过的OpenMP。我已经设法通过自制软件安装gcc-5,并且在那里工作。我可以从这个线索看到 GCC C / C ++ MEX Matlab R2015 Mac OS X(带OpenMP)不起作用,至少在R2014a中,可以手动插入mexopts.sh并对其进行编辑。但是,我没有这样的文件来重定向编译器标志(CC),以
..
我想在ubuntu中使用配置了gcc的 mex 来编译C代码。我可以顺利编译OSX中的代码。但是,当我想在Linux中编译它时,编译器会在以 // 开头的注释行上生成错误(它可以很好地与 / * * / 。由于该程序包含来自第三方库的几个头文件,所以我不能用 / *替换 // * / 。 我想知道是否有任何方法可以解决这个问题。 MATLAB版本:R2012b 在Linux中的gcc版本
..
我正在尝试写一个使用libhdf5的matlab mex函数;我的Linux安装提供了libhdf5-1.8共享库和头文件。不过,我的Matlab版本r2007b在1.6版本中提供了libhdf5.so。 (显然,Matlab .mat 文件bootstrap hdf5)。当我编译mex时,它在Matlab中进行段错误。如果我将我的libhdf5版本降级到1.6(不是长期选项),代码编译并运行良好
..
我编写并编译了一个MEX函数,可以从MATLAB例程中调用,它在我的电脑上运行良好。但是,当我尝试让不同的计算机运行我的例程时,它会打破一个错误,指出模块不存在。我的MEX功能引用了GSL库和其他一些库。我想知道是否可以编译我的MEX函数,以便它是独立的。当我说独立时,我的意思是如果我只是将MEX文件复制到另一台计算机上,并且没有安装库或编译器,它仍然可以工作。 谢谢! 解决方案 您
..
我试图在mex文件中解决DGESV的线性系统问题。 当我有一个2x2系统时,mex文件工作正常,没有错误发生,但是当系统大于2时,MATLAB系统错误对话框出现,并且说matlab遇到内部问题并需要关闭。 在64位Windows 10和Intel Composer XE 2013上使用matlab r2016a 编译界面是: mex -lmwlapack * .F
..
我使用mex连接matlab中的一些Fortran代码(f90),偶尔会有matlab冻结。过去,由于不匹配,我发生冻结之间的数据类型(如整数* 4与整数* 8)。 我链接的代码有许多隐式定义的变量,所以我想知道是否有隐藏的数据类型冲突只能偶尔出现。为了排除数据类型不匹配的原因,我希望编译器要求显式声明所有变量。 问题: 如何获得gfortran要求全部变量在编译时显式声明?否则
..
我需要从MATLAB内部调用一些Fortran代码。我做了一些研究并阅读了 mex 命令以及如何使用它。 首先,这里是我的设置: macOS Sierra 10.12.1(最新版本) MATLAB R2016b(最新版本) gfortran 4.9.2 (通过官方GNU站点的.dmg安装) 根据MATLAB文档,我可以使用 mex - 设置FORTRAN 以准备 mex ,以
..
为了创建一个 MEX函数,并使用我的 MATLAB 代码,如下所示: [pow,index] = mx_minimum_power(A11,A12,A13,A22,A23,A33); 我创建了文件 mx_minimum_power.cpp 并写下以下代码: #include #include #include“mex
..
我知道在C中没有内置的try-catch语句的方法,但MATLAB方便了MEX文件的任何类型的try-catch功能?我试图使用 http://www.di.unipi.it/~nids/docs/longjump_try_trow_catch.html ,但我没有成功。有没有人想出一个方法? 解决方案 你可以在C ++中编写MEX文件,并使用 C ++异常处理。
..
如何通过MATLAB引擎或MEX C接口访问MATLAB字符串的底层unicode数据? 这是一个例子。我们把unicode字符放在一个UTF-8编码的文件test.txt中,然后将它读作 fid = fopen('test。 TXT”, 'R', 'L', 'UTF-8'); s = fscanf(fid,'%s') 在MATLAB中。 现在,如果我首先
..