轉自:http://www.cnblogs.com/xlw1219/archive/2012/12/25/2832222.html
首先必須知道聯合編程需要知道的一些命令解釋:
mcc 的作用是將 .m文件編譯為 c/c++動態鏈接庫文件,使你可以在 c/c++程序中使用 matlab的一些函數功能。mcc 也可以將.m文件編譯為exe可執行文件。
mex 的作用是將 c/cpp文件編譯為 .m 文件可以調用的庫文件,在Windows操作系統里通常是以mexw32或mexw64為擴展名,讓你可以使用 c/c++來擴展 matlab,即在matlab中調用C/C++編寫函數的功能,達到增加新的功能或者加速原有程序的功能。
mbuild 的作用是將 matlab視為一個 c/c++編譯器,使用mbuild可以將 c/c++編譯為 exe可執行文件,特色在於可以調用 matlab的數學庫和圖形庫,但這樣需要使用 matlab提供的動態連接庫才能運行。
注意:我之前輸入mcc命令后,出現了Test checkout of feature 'Compiler' failed的問題,原因是matlab2014a沒有破解,按照下面的鏈接解決:
http://blog.csdn.net/smilebluesky/article/details/42987985
--------------------------------------分割線-----------------------華麗轉身-------------------------------
在做matlab和C++混合編程時要對系統進行設置。比如我要用deploytool生成c++的動態鏈接庫(下面有圖),必須先要運行mbuild -setup命令。
注意,我用的是matlab2014a,跟文中不同,具體的deploytool的編譯過程如下:
命令行輸入deploytool:選擇 application compiler
然后,進入下面頁面,在add main file里添加主要執行的.m文件,再在下面運行應用程序里添加輔助的.m文件,然后點擊package,生成exe文件。
編譯結束后,會生成三個文件夾:點擊for_testing文件夾下的exe可執行文件,即可運行。
后面的工作就很簡單了,新建個c++工程,把生成的ImageConvert.exe加到工程里,寫上:
#include <windows.h>
int main()
{
system("ImageConvert.exe");
}
一次性運行通過。