VS2010與Matlab2010b混合程式設計

2022-09-04 05:54:10 字數 2780 閱讀 8600

套用今天的簽名「最新的vs+最新的matlab+最新的windows=無盡的煩惱」,用了一天的時間去配置相關的環境,確實很囧。好在現在問題解決了,特發布過程如下,希望能給有需要的朋友帶來幫助。

注:因為程式也是剛調通,所以有些原因還沒有仔細分析,如果不對,敬請指教。

1.表示matlab按照目錄

2. 配置過程中的錯誤,請見:附錄

3.文中包含"只針對64位windows"字眼設定的,在win32(x86)環境無需設定

/*******************************************

環境:1.vs2010

2.matlab 2010b

3.window 7 (x64)

******************************************/

1.matlab環境設定

要建立獨立執行的c應用程式,系統中需要安裝matlab、matlab編譯器、c/c++編譯器以及matlab c/c++數學庫函式和圖形庫函式。

matlab編譯器使用mbuild命令可以直接將c/c++源**編譯為獨立執行程式,在這些源**中可以使用matlab提供的介面來呼叫matlab數學庫函式。

雖然生成的可執行程式可以脫離matlab環境執行,但是它需要matlab c/c++數學庫檔案或者圖形庫檔案的支援才能執行。但如果c/c++源**完全是按傳統c/c++源**語法規則編寫,沒有包含matlab數學庫和圖形庫的呼叫,則不僅可以獨立與matlab環境,也不需要那兩個庫函式的支援。

在 matlab 的command window 下輸入命令

mbuild – setup

操作過程如下圖:

然後輸入命令

mex – setup

以類似的方法配置編譯器。matlab 的配置完成。

2.vs環境設定

(1)設定include 和library 目錄

專案右鍵->屬性->vc++目錄->包含目錄:新增

\r2010b\extern\include\win64

\r2010b\extern\include\

專案右鍵->屬性->vc++目錄->庫目錄:新增

\r2010b\extern\lib\win32\microsoft

\r2010b\extern\lib\win64\microsoft

截圖(部分):

(2)設定工程目錄

專案右鍵->屬性->c/c++->常規->附件包含目錄:新增

\r2010b\extern\include\win64

\r2010b\extern\include\

\r2010b\extern\lib\win32\microsoft

\r2010b\extern\lib\win64\microsoft

libeng.lib

libmat.lib

libmex.lib

libmx.lib  

注:1.lib檔案包含在\r2010b\extern\lib\win64\microsoft,可根據需要增減

2.附件依賴性在vs2010前以空格隔開,在vs2010後使用;隔開。

截圖:

machinex86 -> machinex64

注:分析原因為matlab根據計算機平台選擇了x64編譯環境,如此處不修改會出現 錯誤3

(3)配置管理器設定(只針對64位windows)

生成->配置管理器->平台:更改

win32->x64

截圖:

3.系統(windows)環境設定

我的電腦->屬性->高階系統設定->高階->環境變數->path,新增:

\r2010b\bin;\r2010b\extern\lib\win64\microsoft;\bin\win64

注:1.windows7的情況下,「使用者變數」和「系統

變數」都需 新增,如不新增,執行時會出現 錯誤5

2.哈哈,別忘記重啟哈,重啟後生效

ok!配置就此結束,現在就開始engopen吧!!對了,別忘記新增#include "engine.h"。

附錄:錯誤情況及解決

解決:附件依賴性在vs2010前以空格隔開,在vs2010後使用;隔開。

及(3)

解決:操作如2.vs環境設定中的

(3)解決:操作如 3.系統環境設定

1.mbuild – setup後沒有「vs2010」選項

解決:matlab 2010b 之後包含對vs2010編譯器的支援,2010a及之前版本不包含支援。如果matlab環境較低,matlab官方有乙個補丁(

)

Matlab2010與VS2010初吻(一)

最近因程式中需要數值計算和做圖表,研究了matlab與vs混合程式設計。結合網上的各種版本及個人摸索,找到一種可行且又簡單易學的方法,現拿與大家分享 一 在matlab中用m檔案生成c c 的dll 開啟matlab 在command視窗輸入mex setup選擇編譯器 在command視窗輸入mb...

使用VS2010呼叫matlab的mat格式檔案

做實驗需要將matlab實現的meanshift的結果中的region的iabels矩陣,需要把labels.mat讀入vs2010中,實現功能,在此把實現過程記錄下來。c 讀取mat檔案的步驟如下。1.vs2010的配置 新建乙個工程,在屬性管理器中選擇 工程 屬性 vc 目錄。設定包含目錄為 d...

ubuntu16 04安裝MATLAB2016筆記

教程部落格 注意事項 1 rar解壓,在windows下解壓,ubuntu好像不太方便 2 輸入掛載命令 r2016b glnxa64 1.iso 這個要為絕對路徑,如果在當前目錄下的話,就不用寫絕對路徑了 掛載r2016b glnxa64 1.iso映象檔案,注意放入你的 1映象檔案所在路徑 su...