作者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
推 mailroach:推一個 08/04 21:08
→ zxvc:補充一下,官方的說法反而不建議使用mclmcrrt,因為它本來是 08/04 21:48
→ zxvc:給MATLAB Compiler轉出的library使用的: 08/04 21:50
→ zxvc:反而mat/mx的使用在MATLAB的說明書是能找得到的。 08/04 21:51
→ zxvc:但奇怪的是它們dll所在的位置不會被MCR安裝器加入PATH。 08/04 21:53
→ zxvc:這樣把程式傳給別人使用是有點麻煩,不是叫對方裝個MCR就好了 08/04 21:56
→ zxvc:。所以要link mat/mx還是mclmcrrt,就看個人的選擇了。 08/04 21:57