最近追求时髦,把Matlab 和VS 都换成了最新版,系统暂时没换,还是win7 32位. 下载了libSVM准备在matlab里编译的时候,首先用mex -setup选择编译器,就发现只有matlab自带的lcc的选项,没有vs2012. 而用lcc编译libSVM的时候,总报语法错误。参考了http://download.csdn.net/detail/wiills/4621079 的做法后,发现选择编译器的过程,似乎只是修改C:\Users\(name)\AppData\Roaming\MathWorks\MATLAB\R2012b\mexopts.bat 中参数的过程。只要让matlab知道编译器、lib文件等的位置和一些编译参数,就足够了。
我首先使用了上面的下载,并且按照他的要求修改了文件(修改后的文件见我的资源),之后发现虽然mex -setup 中有了vs2012,但编译mex时还是出问题。这是因为上面的下载适用于x64的系统,如果要改成x86很难把所有需要修改的东西都改好。于是我又修改了C:\Users\(name)\AppData\Roaming\MathWorks\MATLAB\R2012b\mexopts.bat,并且已经测试成功,下面贴出我的修改后的mexopts.bat,供各位遇到matlab找不到vs编译器的学者参考。高亮的是一些需要注意修改的地方:
@echo off
rem MSVC110OPTS.BAT
rem
rem Compile and link options used for building MEX-files
rem using the Microsoft Visual C++ compiler version 11.0
rem
rem $Revision: 1.1.6.4.2.1 $ $Date: 2012/07/12 13:53:59 $
rem Copyright 2007-2009 The MathWorks, In
本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2012anzhuangwenti/2020/0725/4519.html