當前位置:首頁 » 編程軟體 » matlabvs編譯器

matlabvs編譯器

發布時間: 2023-07-10 16:47:58

『壹』 如何vs2010mfc調用matlab 2010生成dll進行編程

通常在實現圖像處理的演算法時我們使用Matlab編程,因為它具有豐富的庫函數以及操作方便,然而在工程項目中通常使用C/C++語言。如果我們將matlab代碼完全重寫成C++代碼會很麻煩,最好的辦法是藉助matlab與C/C++介面將.m程序轉成dll文件!
一、使用matlab將.m轉成dll文件
1、在命令行中輸入mex -setup
提示你是否要在本地安裝matlab compilers,然後選擇compiler類型,有matlab自帶的編輯器以及檢測到的其他編輯器,比如「Microsoft Visual C/C++ version 6.0 in E:\Program Files\Microsoft Visual Studio」,根據自己實際情況選擇。
2、在命令行中輸入mbuild -setup
這里的選項和上面類似,依次選擇環境確定。
3、生成dll文件
一句命令mcc -W cpplib:add -T link:lib add.m
前面的add表示生成的dll文件名,後面的add.m顧名思義是.m文件名。生成後會多出8個文件,有用的是add.ctfadd.dll add.lib add.h4個文件,據說新版的Matlab不會生成.ctf文件。
二、VC6.0中調用生成的dll文件
上面生成的dll文件,我們可以藉助VC6.0的Depends工具查看導出函數名,但是我們要調用導出函數必須要知道函數的形參返回類型等,這里要藉助.h文件,它包含了導出函數的聲明,下面以實例來講解使用方法:
1、add.m文件
function [a,b]=add(x,y)
a=2*x+y;
b=3*y;
end

注意了add函數有兩個返回值,可以猜測一下在C++中是如何處理的;
2、add.h文件
截取其中一段關鍵代碼如下:
extern void add(int nargout, mwArray& a, mwArray& b
, const mwArray& x, const mwArray& y);

實際上函數的返回是變相的放到形參中的,依次是輸出參數個數,輸出參數,輸入參數。PS 現在做的這個項目中用戶自定義演算法dll使用的規則和這里類似!
3、C++中調用dll文件
(1)新建空工程,將上面提及的4個文件放到工程目錄下;
(2)VC++目錄中包含目錄:matlab 內的include目錄
比如我的是 E:\MATLAB7\extern\include
(3)VC++目錄中庫目錄:matlab 內的lib目錄
E:\MATLAB7\extern\lib\win32\microsoft\msvc60,要根據VC++版本修改!
(4)工程屬性-》連接-》輸入-》附加依賴項
輸入:add.lib mclmcrrt.lib mclmcr.lib,第一個是生成的。或者在預處理中加入下面代碼
#pragma comment(lib, "mclmcrrt.lib")
#pragma comment(lib, "mclmcr.lib")
#pragma comment(lib, "add.lib")

4、C++代碼
#include <iostream>
#include "add.h"
using namespace std;
int main()
{
if(!addInitialize())
{
cout<<"initilize failed!!!"<<endl;
return -1;
}

mwArray a(1,1,mxDOUBLE_CLASS);
mwArray b(1,1,mxDOUBLE_CLASS);

a(1,1)=20;
b(1,1)=30;

mwArray x(1,1,mxDOUBLE_CLASS);
mwArray y(1,1,mxDOUBLE_CLASS);

//輸出參數個數,輸出參數,輸入參數。
add(2,x,y,a,b);

double *i=new double;
double *j=new double ;

x.GetData(i,1);
y.GetData(j,1);

cout<<"x="<<*i<<" y="<<*j<<endl;
getchar();
return 0;
}

注意:addInitialize()一定要!

『貳』 如何使用matlab與vs編譯

1. 安裝
單獨安裝、和MATLAB同時安裝。
2. 設置(以vs2005為例)
>> mbuild -setup
Please choose your compiler for building standalone MATLAB applications:

Would you like mbuild to locate installed compilers [y]/n? y

Select a compiler:
[1] Lcc-win32 C 2.4.1 in D:\PROGRA~1\MATLAB\R2010a\sys\lcc
[2] Microsoft Visual C++ 2008 SP1 in D:\Program Files\Microsoft Visual Studio 9.0
[3] Microsoft Visual C++ 2005 SP1 in C:\Program Files\Microsoft Visual Studio 8

[0] None

Compiler: 3

Please verify your choices:

Compiler: Microsoft Visual C++ 2005 SP1
Location: C:\Program Files\Microsoft Visual Studio 8

Are these correct [y]/n?

Trying to update options file: C:\Documents and Settings\Administrator\Application Data\MathWorks\MATLAB\R2010a\compopts.bat
From template: D:\PROGRA~1\MATLAB\R2010a\bin\win32\mbuildopts\msvc80compp.bat

Done . . .

3. 使用
(1)在 MATLAB 環境中使用 mcc 命令;
(2)在系統命令環境中使用 mcc.exe (在Windows上);
(3)在 MATLAB 環境中使用 Deployment Tool。
4. 程序發布
(1)使用 MATLAB 命令 builder;
(2)使用 Deployment Tool 圖形化工具。
一般來說,需要發布的文件有3個:
(1)編譯得到的可執行文件或庫函數;
(2)CTF 文件;
(3)MCRInstaller.zip。
在最終用戶的計算機上,首先需要把MCRInstaller.zip 解壓,並把 MCR 中可執行文件所在目錄添加到系統路徑上,然後就可以使用編譯後的程序了。

『叄』 如何設置matlab為c++編譯環境

如何設置matlab為c++編譯環境
1. 安裝
單獨安裝、和MATLAB同時安裝。
2. 設置(以vs2005為例)
>> mbuild -setup
Please choose your compiler for building standalone MATLAB applications:

Would you like mbuild to locate installed compilers [y]/n? y

Select a compiler:
[1] Lcc-win32 C 2.4.1 in D:\PROGRA~1\MATLAB\R2010a\sys\lcc
[2] Microsoft Visual C++ 2008 SP1 in D:\Program Files\Microsoft Visual Studio 9.0
[3] Microsoft Visual C++ 2005 SP1 in C:\Program Files\Microsoft Visual Studio 8

『肆』 matlab2020b找不到vs2015編譯器

matlab2020b找vs2015編譯器方法如下:
1、首先點擊桌面matlab圖標打開軟體。
2、然後找到命令窗口。
3、輸入edit的字元,然後按下enter鍵。
4、即可顯示編輯窗口。

『伍』 誤刪了C盤Windows下的SDK文件夾,vs2013可以使用,matlab找不到vs編譯器

現在用的電腦多數是WIN64位機,但是在安裝MATLAB2011a時並不能順利安裝編譯器這是應為在64位機上安裝MATLAB時並沒有安裝編譯器。因此就帶來不能使用m文件等一系列問題。那麼就需要手動安裝,但是網上的手動安裝教程都是殘缺不全的。介紹的最詳細的是國外的mathworks網站。下邊具體詳述其操作步驟。步驟一:對於MATLAB7.12,對於64位機來說,VisualC++2010Express和SDK7.1都需要安裝。如果不知道Windows中是否安裝了上述軟體,就假設你已經安裝,並進行一下步驟。步驟二:為了避免錯誤,如果你既沒有安裝VisualC++2010也沒有安裝SDK7.1,那麼可以進行如下步驟:1.安裝SDK7.1,如果安裝失敗按照步驟三進行,然後再回到本步驟二的3.2.到參考資料的1網站下載文件包,SDK7.1.3.安裝VisualC++2010orSDK7.1。步驟三:如果你已經安裝了VisualC++2010ExpressSP1而沒有安裝SDK7.1,按照如下步驟進行:1.卸載VisualC++2010Redistributable,x64和x86版都要卸載。這個可以從控制面板卸載程序卸載。2.安裝SDK7.1,在安裝SDK7.1是確保取消VisualC++Compilers和MicrosoftVisualC++2010選框。3.至參考資料網站1下載SDK7.1安裝包。4.重新安裝VisualC++2010Redistributablepackages。步驟四:如果連個文件包都安裝後,在編譯期間仍然出現錯誤,那麼就需要安裝SDK7.11.至相關網站下載Windows7和.NETFramework4.下載完成後安裝。注意事項:如果有外語知識按照參考資料中的網站1完成不成問題,但是有寫不同。1.在安裝時可以將SDK「winsdk_web.exe」安裝時路徑改為「MicrosoftVisualStudio10.0」文件夾下。2.重新啟動MATLAB。

『陸』 matlab7.0 mbuild -setup不顯示vs2008的編譯器

沒有 VS2008,不過在VS2005中: 項目 -> 添加類 -> c++ -> c++ 類

熱點內容
o2o與資料庫設計 發布:2025-02-07 11:35:27 瀏覽:928
ftp伺服器推薦 發布:2025-02-07 11:35:16 瀏覽:700
吉利星瑞豪華加6000是有哪些配置 發布:2025-02-07 11:25:18 瀏覽:971
李字加工編程 發布:2025-02-07 11:23:50 瀏覽:880
linux安全運維 發布:2025-02-07 11:14:19 瀏覽:737
阿里雲集群伺服器 發布:2025-02-07 11:12:38 瀏覽:453
如何選擇家庭最佳配置 發布:2025-02-07 11:06:50 瀏覽:89
javatomcat伺服器搭建伺服器 發布:2025-02-07 10:55:22 瀏覽:624
vcenter存儲器集群 發布:2025-02-07 10:54:31 瀏覽:585
咖啡的腳本 發布:2025-02-07 10:46:18 瀏覽:523