matlab2012b windows版在关联vs2012编译器的时候,以及无法编译dll。
原因就是matlab默认的编译器的目录配置,include目录以及lib目录配置错误造成的。
如果你的vs目录不是默认的,或者windows是32位版本,或者vs版本不是2012,或者你的mt.exe目录不在Windows kits下,那么有可能需要修改附件里面的相关目录的设置(其实就是mbuild配置cl.exe和mt.exe的目录位置,以及mex配置的include和lib的所需目录),mbuild是编译exe的,mex是编译dll的。我的另一个资源仅处理mbuild配置,未处理mex的配置,所以不能成功编译mex。如果你已经下载过我的另一个资源,请替换mexopts目录下的msvc110opts.bat文件的30和31行代码(而不必下载这个资源):
set INCLUDE=%VCINSTALLDIR%\INCLUDE;%VCINSTALLDIR%\ATLMFC\INCLUDE;%LINKERDIR%\include\um;%LINKERDIR%\include\shared;%LINKERDIR%\include\WinRT;%INCLUDE%
set LIB=%VCINSTALLDIR%\LIB\amd64;%VCINSTALLDIR%\ATLMFC\LIB\amd64;%LINKERDIR%\lib\win8\um\x64;%MATLAB%\extern\lib\win64;%LIB%
附件里有一个word文件,是我修改的注释信息,如果需要手动修改,可以当做帮助来用.
mbuild设置方法:
1 把附件相关的4个文件添加到matlab/bin/win64下面的2个相关目录
2 在matlab 里面运行 mbuild -setup, 然后选 y, 再选择2012的那个项目,再选y
3 mbuild应该成功了,此时可以编译为exe文件。
mex设置方法:
1 在matlab 里面运行 mex -setup, 然后选 y, 再选择2012的那个项目,再选y
2 mbuild应该成功了,此时可以编译为dll文件。
1