WIN8.1下MSVC2013調用MATLAB engin…

WIN8.1MSVC2013調用MATLAB engine

環境說明

1.         系統:64win8.1

2.         MSVC2013:64位

3.         MATLAB2014a 64

說明:QT調用matlab engine如下:

http://blog.sina.com.cn/s/blog_89a45b020102vrr8.html

matlab頭文件與庫文件的引用

1.         進入:工程項目->屬性->配置屬性->VC++目錄,在以下兩個目錄下添加matlab頭文件與庫文件地址,如圖1所示

a)         包含目錄:C:\MATLAB\R2014a\extern\include

b)         庫目錄:C:\MATLAB\R2014a\extern\lib\win64\microsoft

c)         說明:不同版本的MATLAB的文件地址可能有所不同

WIN8.1下MSVC2013調用MATLAB <wbr>engine
1 includelib目錄的引用

2.         進入:工程項目->屬性->配置屬性->鏈接器->輸入,添加依賴項,如圖2

a)         附加依賴項:libmx.lib  libmat.lib  libeng.lib

b)         說明:這3個庫文件都在C:\MATLAB\R2014a\extern\lib\win64\microsoft下。

 

WIN8.1下MSVC2013調用MATLAB <wbr>engine

2 添加依賴項

環境變量的設置

1.         進入:右鍵這臺電腦”->屬性->高級系統設置->高級->環境變量->新建用戶變量,如圖3

a)         變量名:Path

b)         變量值:C:\MATLAB\R2014a\bin\win64;

c)         說明:如果不設置環境變量,程序編譯會通過,但運行過程中會報錯,提示缺少各種.dll文件,這些文件都在這個路徑下

 

WIN8.1下MSVC2013調用MATLAB <wbr>engine

3 環境變量的設置

MSVC2013編譯器的設置

由於本人的matlab64位,編譯器默認的是32位,無法編譯通過,出現號“error LNK2019: 無法解析的外部符”,因此編譯器需要設置成64位。

1.         進入:生成->配置管理器->活動解決方案平臺->新建,如圖4顯示

2.         修改後工具欄中選擇x64平臺,如圖5所示

3.         說明:這一步設置可能理解不正確,屬於誤打誤撞解決了,有一定的偶然性,可以在這裏多次嘗試,並且可能需要重啓msvc2013

WIN8.1下MSVC2013調用MATLAB <wbr>engine

 

4 新建64位編譯器

 

WIN8.1下MSVC2013調用MATLAB <wbr>engine

5 選擇x64平臺

測試例程

1.         MSVC2013新建一個win32控制檯應用程序

2.         Main.cpp 如下,直接選擇matlab給出的一個案例,地址爲:

C:\MATLAB\R2014a\extern\examples\eng_mat\engdemo.c

3.         程序編譯後,運行結果如圖6,會打開一個matlab command window,並繪圖

 

WIN8.1下MSVC2013調用MATLAB <wbr>engine

6 程序運行結果

Matlab engine API介紹

這裏不做過多重複介紹,給出幾個參考地址吧

1.         MATLAB Engine API介紹:http://blog.sina.com.cn/s/blog_67d069a90100q37c.html

2.         MATLAB Engine API for C,C++,and Fortranhttp://cn.mathworks.com/help/matlab/calling-matlan-engine-from-c-c-and-fortran-programs.html

其它問題

1.         Matlab mcc不可用

如果程序編譯通過,運行matlab時無法加載,可能是matlab的破解不夠徹底,可以到網上找一下破解包,關於matlab編譯器mcc的破解。直接給出下載地址:

鏈接:http://pan.baidu.com/s/1gdzNBxx

密碼:jqm5

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章