[安裝] MCR R2013a提供libmat.lib

看板MATLAB作者 (眾生都是未來佛)時間12年前 (2013/08/04 11:27), 編輯推噓1(107)
留言8則, 2人參與, 最新討論串1/1
今早在試可免費取得的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

08/04 21:08, , 1F
推一個
08/04 21:08, 1F

08/04 21:48, , 2F
補充一下,官方的說法反而不建議使用mclmcrrt,因為它本來是
08/04 21:48, 2F

08/04 21:50, , 3F
給MATLAB Compiler轉出的library使用的:
08/04 21:50, 3F

08/04 21:50, , 4F
08/04 21:50, 4F

08/04 21:51, , 5F
反而mat/mx的使用在MATLAB的說明書是能找得到的。
08/04 21:51, 5F

08/04 21:53, , 6F
但奇怪的是它們dll所在的位置不會被MCR安裝器加入PATH。
08/04 21:53, 6F

08/04 21:56, , 7F
這樣把程式傳給別人使用是有點麻煩,不是叫對方裝個MCR就好了
08/04 21:56, 7F

08/04 21:57, , 8F
。所以要link mat/mx還是mclmcrrt,就看個人的選擇了。
08/04 21:57, 8F
文章代碼(AID): #1H_Se6b1 (MATLAB)