linux中Matlab編譯m文件


一、將m文件編譯生成可執行文件

1、依賴於gcc編譯器,保證有編譯器,進入matlab【輸入matlab】輸入【只需要配一次】

>> mex -setup
MEX 配置為使用 'gcc' 以進行 C 語言編譯。
警告: MATLAB C 和 Fortran API 已更改,現可支持
包含 2^32-1 個以上元素的 MATLAB 變量。不久以后,
您需要更新代碼以利用
新的 API。您可以在以下網址找到更多的相關信息:n http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html。

要選擇不同的語言,請從以下選項中執行一種命令:
mex -setup C++
mex -setup FORTRAN

輸入

>> mex -setup C++ 

2、編譯

mcc -mv my_fun_cal_safeguard_rate.m

3、生成可執行文件

my_fun_cal_safeguard_rate

run_my_fun_cal_safeguard_rate.sh

4、配置了MCR

配置MCR:https://www.cnblogs.com/judes/p/12176751.html

而這個run_xxx.sh是自動加入MCR路徑的腳本,我一直沒使用成功過,如果MCR配置好了,可直接./my_fun_cal_safeguard_rate

二、生成動態庫

1、依賴於gcc編譯器,保證有編譯器,進入matlab輸入【只需要配一次】

>> mex -setup 
MEX 配置為使用 'gcc' 以進行 C 語言編譯。
警告: MATLAB C 和 Fortran API 已更改,現可支持
包含 2^32-1 個以上元素的 MATLAB 變量。不久以后,
您需要更新代碼以利用
新的 API。您可以在以下網址找到更多的相關信息:n http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html。

要選擇不同的語言,請從以下選項中執行一種命令:
mex -setup C++ 
mex -setup FORTRAN

輸入

>> mex -setup C++ 

2、將m文件編譯成動態庫

mcc -W cpplib:libmy_fun_cal_safeguard -T link:lib my_fun_cal_safeguard_rate.m 

至於如何使用還在研究中


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM