‘壹’ 我的matlab貌似没有编译器,该怎么办
回复 matsuper 的帖子我就是用的mbuilt -setup
‘贰’ 为什么matlab中没有编译器
1. 安装
单独安装、和MATLAB同时安装。
2. 设置(以vs2005为例)
>> mbuild -setup
Please choose your compiler for building standalone MATLAB applications:
Would you like mbuild to locate installed compilers [y]/n? y
Select a compiler:
[1] Lcc-win32 C 2.4.1 in D:\PROGRA~1\MATLAB\R2010a\sys\lcc
[2] Microsoft Visual C++ 2008 SP1 in D:\Program Files\Microsoft Visual Studio 9.0
[3] Microsoft Visual C++ 2005 SP1 in C:\Program Files\Microsoft Visual Studio 8
[0] None
Compiler: 3
Please verify your choices:
Compiler: Microsoft Visual C++ 2005 SP1
Location: C:\Program Files\Microsoft Visual Studio 8
Are these correct [y]/n?
Trying to update options file: C:\Documents and Settings\Administrator\Application Data\MathWorks\MATLAB\R2010a\compopts.bat
From template: D:\PROGRA~1\MATLAB\R2010a\bin\win32\mbuildopts\msvc80compp.bat
Done . . .
3. 使用
(1)在 MATLAB 环境中使用 mcc 命令;
(2)在系统命令环境中使用 mcc.exe (在Windows上);
(3)在 MATLAB 环境中使用 Deployment Tool。
4. 程序发布
(1)使用 MATLAB 命令 builder;
(2)使用 Deployment Tool 图形化工具。
一般来说,需要发布的文件有3个:
(1)编译得到的可执行文件或库函数;
(2)CTF 文件;
(3)MCRInstaller.zip。
在最终用户的计算机上,首先需要把MCRInstaller.zip 解压,并把 MCR 中可执行文件所在目录添加到系统路径上,然后就可以使用编译后的程序了。
‘叁’ MATLAB 如何配置编译器
在MATLAB的Command Window下输入命令 mbuild –setup,并根据MATLAB的提示选择合适的编译器,使用Microsoft Visual C++6.0,进行对C++连接环境的设置。
过程如下:
>> mbuild -setup
按照提示选择操作,选择编译器进行安装
然后,在MATLAB的Command Window下输入命令 mex –setup,进行对编译环境的设置。过程如下:
>> mex -setup
按照提示选择操作,选择你所需要的编译器就可以了。
‘肆’ Matlab的工程,我在部署后遇到一个问题,求大神们解答
这位童鞋是做图像处理的吧,我试着看了一下,也下载试了一下,出错的原因在于:vl_slic.m文件是一个脚本文件(错误提示里的SCRIPT),而你的语句里调用的是一个带参数的函数文件(vl_slic(im, 20, 0.1, 'verbose')),MATLAB里的函数文件都是以function开头的,解决的方法是有的,我在vl_slic.m文件所在的文件夹中看到了一个同名的C源文件vl_slic.c,且该文件是一个以MEX文件规范编写的函数文件,因此可以通过MATLAB的MEX命令将C文件编译为MEX文件,而在MATLAB中MEX文件的优先级总是高于M文件,若存在同名MEX和M文件则忽略M文件,而优先调用MEX文件,本来想要直接通过C文件编译MEX文件还要颇费一番功夫,要配置C编译器、添加搜索路径等,一两句话说不完,不过该程序的制作者用心良苦,已经预先帮你考虑到了。
在所有文件的根目录下面(和 ICCV2013平级)有一个readme.md的文本文件,用记事本打开它,里面说的很清楚了:
- Mex all c++ files in the following folers (For windows):
(a) run "Agglo_MS_compile.m" in the folder "./ClusteringUtil";
(b) run "compile_edison_wrapper.m" in the folder "./edison_matlab_interface";
(c) run "libsvm_compile.m" in the folder "./libsvm";
(d) compile 钬榗d GraphSegment; mex mexSegment.cpp钬?
需要编译所有C++源文件,在Windows平台下,需要依次:运行./ClusteringUtil目录下的Agglo_MS_compile→运行./edison_matlab_interface目录下的compile_edison_wrapper→运行./libsvm目录下的libsvm_compile→编译\GraphSegment目录下的mexSegment.cpp(注意:编译方法为:打开\GraphSegment目录,运行如下matlab命令行语句:mex mexSegment.cpp)。
然后再运行示例文件,如:或ExtractSlicSegmentationMask就不会出错了。
补充:如果以前没有用过MEX命令,MATLAB可能(注意:是可能)会提示没有配置MEX编译器,检查的方法是在MATLAB命令行下输入命令:mex.getCompilerConfigurations,如果不为空,则已经配置了C编译器,否则,需要手动配置C编译器,配置方法为:在命令行输入mex -setup,提示是否定位本机上安装的C编译器,选择y,弹出所有安装的、并可被MATLAB兼容的C编译器,选择一项(序号),按着提示进行,一般而言,MATLAB都自带一个C语言编译器LCC,如果没有其它更好的编译器(如VC)可以将就用下,不过LCC只能编译C语言兼容规范的源文件,如果CPP文件中含有C++特有的语法可能还是无法编译,此时必须先安装C++语言编译器,方法是:在mex -setup后选择n,则MATALB列出所有与当前MATLAB版本兼容的C编译器,一般你可以从中选一个较新的VS版本,从网上下一个该版本的VS,装上,然后再次配置MEX的默认编译器,再次进行CPP文件编译即可。
‘伍’ 64位机器MATLAB2013b和MATLAB2014a没有LCC编译器,怎么安装它
要用MATLAB2013a的mex功能重新编译一下C文件,但是64位的MATLAB没有自带的编译器。所以使用mex -setup安装。安装MATLAB2013a支持的编译器,有SDK7.1等21个,但是win8的电脑似乎装不了SDK7.1,有SDK8.1 可以装在win8.1 上,但是悲剧的是MATLAB2013
‘陆’ 安装matlab的时候没有配置编译器怎么办
重新安装一下matlab,选择custom安装,然后只选编译器个工具,其他的都勾掉就可以了
‘柒’ 想在matlab2013a配置libsvm,但是没法找到合适的编译器。
mex命令行必须在libsvm路径下比如我的是在:H:\matlab\toolbox\libsvm-3.20\matlab,如果还找不到编译器,那可能是编译器和matlab版本不合适,一开始我也没有找到编译器,于是全都换成了matlab2015和VS2015就成功了。
‘捌’ MATLAB中如何设置编译器
1. 安装
单独安装、和MATLAB同时安装。
2. 设置(以vs2005为例)
>> mbuild -setup
Please choose your compiler for building standalone MATLAB applications:
Would you like mbuild to locate installed compilers [y]/n? y
Select a compiler:
[1] Lcc-win32 C 2.4.1 in D:\PROGRA~1\MATLAB\R2010a\sys\lcc
[2] Microsoft Visual C++ 2008 SP1 in D:\Program Files\Microsoft Visual Studio 9.0
[3] Microsoft Visual C++ 2005 SP1 in C:\Program Files\Microsoft Visual Studio 8
[0] None
Compiler: 3
Please verify your choices:
Compiler: Microsoft Visual C++ 2005 SP1
Location: C:\Program Files\Microsoft Visual Studio 8
Are these correct [y]/n?
Trying to update options file: C:\Documents and Settings\Administrator\Application Data\MathWorks\MATLAB\R2010a\compopts.bat
From template: D:\PROGRA~1\MATLAB\R2010a\bin\win32\mbuildopts\msvc80compp.bat
Done . . .
3. 使用
(1)在 MATLAB 环境中使用 mcc 命令;
(2)在系统命令环境中使用 mcc.exe (在Windows上);
(3)在 MATLAB 环境中使用 Deployment Tool。
4. 程序发布
(1)使用 MATLAB 命令 builder;
(2)使用 Deployment Tool 图形化工具。
一般来说,需要发布的文件有3个:
(1)编译得到的可执行文件或库函数;
(2)CTF 文件;
(3)MCRInstaller.zip。
在最终用户的计算机上,首先需要把MCRInstaller.zip 解压,并把 MCR 中可执行文件所在目录添加到系统路径上,然后就可以使用编译后的程序了。