MATLAB的通訊mex編譯問題及解決方法

2021-07-26 15:36:02 字數 949 閱讀 4761

查了一些相關資料matlab的通訊最好用32位的matlab,對於是不是64位的系統無所謂,但是一定要裝32位的matlab,否則生成不了mexw32檔案

1.通過udp編寫的c與matlab混合編寫的點c檔案如下:

send.c

#include "mex.h"

#include

#include

#define server_address "172.19.207.221"     

#define port           5150             

#define msgsize        100             

#pragma comment(lib, "ws2_32.lib")

void mexfunction(int nlhs, mxarray *plhs, int nrhs, const mxarray *prhs)                    

receive.c

#include "mex.h"

#include

#include

#define port           5150  

#define msgsize        100  

#pragma comment(lib, "ws2_32.lib") 

void mexfunction(int nlhs,mxarray *plhs,int nrhs,const mxarray *prhs )   

通過mex -setup選擇編譯器後的編譯結果如下:

沒有編譯成功,通過mex -v -g send.c命令後結果如下:

然後重新選擇編譯器,重新編譯如下:

編譯成功了,沒想到編譯成功了,由於時間原因不做詳細解釋,需要注意的是有些中文版軟體自帶的編譯器是優化後的編譯器,matlab可能檢測不出來,集體如何修改,請看我的其他部落格。

VC 編譯 MATLAB 的 mex 檔案

vc 編譯 matlab 的 mex 檔案 mex 檔案是 matlab 呼叫其他程式語言程式或演算法的介面。在 windows 環境中,mex 檔案是擴充套件檔名為 dll 的動態鏈結庫,可以在 m 程式中直接呼叫,使用者可以通過 234 matlab 實用教程 matlab 提供的命令 mex ...

MATLAB編譯C 問題(MEX檔案)

由於作業原因,需要matlab和c 聯合程式設計,matlab編譯c 檔案遇到一系列問題,現在彙總如下 首先關於大部分基礎知識,參閱這篇文章 matlab與c c 聯合程式設計之從matlab呼叫c c 執行mex setup後,matlab顯示如下 由於我使用的是matlab 2013a vs20...

matlab設定mex接駁的C C 編譯器

使用c c 編寫核心演算法,使用matlab呼叫演算法 做上層封裝,通常是提公升效率並提供易用性的乙個不錯的選擇。mex需要設定接駁的c c 編譯器,官方文件在這裡 簡要總結下 windows 在windows下用visual studio作為c c 編譯器,允許mex設定或切換在不同版本的vs m...