作者zxvc (众生都是未来佛)
看板MATLAB
标题[安装] MCR R2013a提供libmat.lib
时间Sun Aug 4 11:26:59 2013
今早在试可免费取得的MATLAB Compiler Runtime (MCR) R2012b
发现并没有提供所有Visual C++ DLL import libraries,
例如可存取MAT file的libmat.lib,然後就无法开发可存取MAT file的C/C++程式。
除非要花钱买MATLAB。
我有点不服气,为了存取MAT file就得买MATLAB,
有点不符合现今许多开放software development kit (SDK)的潮流,
就去MathWorks网站发了篇文:
http://www.mathworks.com/matlabcentral/answers/83926-why-doesn-t-mcr-provide-libmat-lib
缩:
http://bit.ly/18V1DTt
後来试着安装最新版的MCR R2013a才发觉被打脸了。
这个版本有提供libmat, libmx!
MCR下载网址:
http://www.mathworks.com/products/compiler/mcr/index.html
後记:
後来发现原来自己是老古董,
其实MCR很早就改用mclmcrrt.h与mcrmcrrt.lib,
而不是使用mat.h/libmat.lib与matrix.h/libmx.lib。
mcrmcrrt有向下相容mat与mx,只要在C/C++程式call任何MATLAB API前call这一行:
mclInitializeApplication(NULL, 0);
这也解了我心中的一个疑惑,就是为何MCR installer会附加
F:\Program Files (x86)\MATLAB\MATLAB Compiler Runtime\v81\runtime\win32
到PATH环境变数(里面有mclmcrrt8_1.dll),
而不是附加
F:\Program Files (x86)\MATLAB\MATLAB Compiler Runtime\v81\bin\win32
(里面有libmat.dll与libmx.dll)。
--
楞严咒(附注音):
http://sdrv.ms/130iapv
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.73.148
1F:推 mailroach:推一个 08/04 21:08
2F:→ zxvc:补充一下,官方的说法反而不建议使用mclmcrrt,因为它本来是 08/04 21:48
3F:→ zxvc:给MATLAB Compiler转出的library使用的: 08/04 21:50
5F:→ zxvc:反而mat/mx的使用在MATLAB的说明书是能找得到的。 08/04 21:51
6F:→ zxvc:但奇怪的是它们dll所在的位置不会被MCR安装器加入PATH。 08/04 21:53
7F:→ zxvc:这样把程式传给别人使用是有点麻烦,不是叫对方装个MCR就好了 08/04 21:56
8F:→ zxvc:。所以要link mat/mx还是mclmcrrt,就看个人的选择了。 08/04 21:57