国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

超詳細(xì)基于Qt平臺(tái)實(shí)現(xiàn)C/C++調(diào)用Matlab函數(shù)全流程

這篇具有很好參考價(jià)值的文章主要介紹了超詳細(xì)基于Qt平臺(tái)實(shí)現(xiàn)C/C++調(diào)用Matlab函數(shù)全流程。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1. 基本調(diào)用方式介紹

基于Qt平臺(tái)實(shí)現(xiàn)C/C++調(diào)用Matlab函數(shù)有三種方式:(1)將Matlab函數(shù)封裝成.dll文件,再在Qt平臺(tái)上調(diào)用.dll文件實(shí)現(xiàn);(2)將Matlab函數(shù)導(dǎo)出成.exe可執(zhí)行程序,再在Qt平臺(tái)上調(diào)用.exe可執(zhí)行程序;(3)直接在Qt平臺(tái)上調(diào)用Matlab Engin引擎,這種方法需要計(jì)算機(jī)上安裝有Matlab軟件。
本文是通過第一種方式,將MATLAB代碼轉(zhuǎn)成C/C++代碼和相關(guān)動(dòng)態(tài)鏈接庫進(jìn)行實(shí)現(xiàn)的,其他兩種方式具體可以參考:
Qt調(diào)用MATLAB引擎混合編程

2. 環(huán)境配置

QT調(diào)用matlab需要編譯器位數(shù)一致?。。。。。。〔蝗粫?huì)出現(xiàn)函數(shù)未定義等錯(cuò)誤。

  1. QT 5.14.2
  2. MATLAB2020b
  3. MinGW64

3. 將Matlab程序?qū)懗珊瘮?shù)形式

qt matlab,matlab,qt,c語言
在matlab中嘗試調(diào)用一下看是否正確

4. Matlab配置C編譯器,將.m文件轉(zhuǎn)換成動(dòng)態(tài)鏈接庫

配置MATLAB的C編譯器與Qt的C編譯器為MinGW??梢耘R時(shí)設(shè)置MinGW環(huán)境變量,但是關(guān)閉MATLAB后該變量就消失了,下次啟動(dòng)MATLAB需要重新設(shè)置。

4.1 首先檢查mcc編譯器是否可用

命令行輸入:

>>!mcc

正常結(jié)果如下:
qt matlab,matlab,qt,c語言

4.2 在Matlab命令行分別輸入

mbuild -setup,選擇mex -setup C++ -client MBUILD

qt matlab,matlab,qt,c語言

mex –setup,選擇C++

qt matlab,matlab,qt,c語言

需要注意的是,matlab每次重啟后,都要重新按以上步驟進(jìn)行mbuild -setup/mex -setup的配置。

4.3 導(dǎo)出動(dòng)態(tài)鏈接庫

qt matlab,matlab,qt,c語言
qt matlab,matlab,qt,c語言
qt matlab,matlab,qt,c語言

5. Qt調(diào)用

5.1 在pro文件中添加matlab其他依賴庫和頭文件搜索路徑

INCLUDEPATH += D:/Matlab_2020_anzhuang/extern/include
INCLUDEPATH += D:/Matlab_2020_anzhuang/extern/include/win64
LIBS += D:/Matlab_2020_anzhuang/extern/lib/win64/mingw64/libeng.lib
LIBS += D:/Matlab_2020_anzhuang/extern/lib/win64/mingw64/libmat.lib
LIBS += D:/Matlab_2020_anzhuang/extern/lib/win64/mingw64/libmx.lib
LIBS += D:/Matlab_2020_anzhuang/extern/lib/win64/mingw64/libmex.lib
LIBS += D:/Matlab_2020_anzhuang/extern/lib/win64/mingw64/mclmcr.lib
LIBS += D:/Matlab_2020_anzhuang/extern/lib/win64/mingw64/mclmcrrt.lib
(根據(jù)自己MATLAB安裝位置來修改)

5.2 在pro文件中添加外部庫

在工程文件上右鍵,選擇添加庫
qt matlab,matlab,qt,c語言
qt matlab,matlab,qt,c語言
點(diǎn)擊瀏覽選擇庫,之后勾掉Linux和Mac,且勾掉為debug版本添加’d’作為后綴。
qt matlab,matlab,qt,c語言
點(diǎn)擊下一步,會(huì)發(fā)現(xiàn)你的.pro文件中多了幾行:

win32: LIBS += -L$$PWD/./ -ldetect_anomaly_11
INCLUDEPATH += $$PWD/.
DEPENDPATH += $$PWD/.

5.3 在工程的頭文件中添加生成的matlab庫的頭文件

qt matlab,matlab,qt,c語言

6. 在Qt中編寫使用DLL內(nèi)函數(shù)代碼

  1. DLL初始化
  2. 函數(shù)的輸入輸出參數(shù)
    mwArray是MATLAB的數(shù)組類,MATLAB編譯生成的DLL的接口函數(shù)的參數(shù)都是采用mwArray類型。
    在調(diào)用時(shí),需要將輸入輸出參數(shù)用到的mwArray定義,才能使用。
  3. mwArray類使用
    參考:mwArray類使用

7. 遇到問題及解決

參考問題解決文章來源地址http://www.zghlxwxcb.cn/news/detail-810946.html

到了這里,關(guān)于超詳細(xì)基于Qt平臺(tái)實(shí)現(xiàn)C/C++調(diào)用Matlab函數(shù)全流程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • QT調(diào)用glog日志流程

    QT調(diào)用glog日志流程

    glog日志庫是Google開源的輕量級(jí)的日志庫,平時(shí)在開發(fā)過程中經(jīng)常要使用到日志,本篇記錄Qt項(xiàng)目使用glog日志庫的記錄。 1.首先下載cmake,Download | CMake 安裝設(shè)置環(huán)境變量,檢查安裝情況 2.下載glog源碼 github網(wǎng)站比較慢,而且容易斷線,可以用國內(nèi)的境像 git clone https://gitee.com/

    2024年02月12日
    瀏覽(39)
  • 基于VC環(huán)境下調(diào)用MATLAB實(shí)現(xiàn)數(shù)字圖像處理(附上完整源碼+圖像+說明)

    在VC環(huán)境下調(diào)用MATLAB實(shí)現(xiàn)數(shù)字圖像處理是一種常見且有效的方法。下面將介紹如何在VC環(huán)境下調(diào)用MATLAB實(shí)現(xiàn)數(shù)字圖像處理的步驟。 首先,確保你已經(jīng)安裝了MATLAB和Visual Studio,并且已經(jīng)將它們正確配置。確保你已經(jīng)安裝了MATLAB的編譯器支持包(MATLAB Compiler Runtime或MCR)。 在Vis

    2024年02月15日
    瀏覽(21)
  • Matlab實(shí)現(xiàn)ADF檢驗(yàn),adftest函數(shù)使用詳細(xì)說明(看完就會(huì)用)

    Matlab實(shí)現(xiàn)ADF檢驗(yàn),adftest函數(shù)使用詳細(xì)說明(看完就會(huì)用)

    ADF檢驗(yàn)全稱為Augmented Dickey-Fuller test。通常在使用時(shí)間序列模型(如ARMA,ARIMA)的時(shí)候用于檢驗(yàn)時(shí)間序列數(shù)據(jù)的平穩(wěn)性。他主要通過檢驗(yàn)數(shù)據(jù)是否有單位根判斷序列是否平穩(wěn)。 輸入?yún)?shù): y:進(jìn)行檢驗(yàn)的時(shí)間序列 輸出參數(shù): h:檢驗(yàn)結(jié)果 h = 0,說明序列不平穩(wěn); h = 1,說明序列

    2023年04月24日
    瀏覽(41)
  • Canoe CAPL語言實(shí)現(xiàn)TCP連接與通信流程(TCP相關(guān)API函數(shù)詳細(xì)使用)

    Canoe CAPL語言實(shí)現(xiàn)TCP連接與通信流程(TCP相關(guān)API函數(shù)詳細(xì)使用)

    本文主要講解CAPL語言里是如何實(shí)現(xiàn)TCP連接通信的,所以在本文開始前需要一些前期準(zhǔn)備。 1、 首先是需要了解TCP的報(bào)文格式,連接三次握手,斷開連接四次揮手的相關(guān)知識(shí),推薦以下兩位博主文章。 深入淺出TCP三次握手 (多圖詳解) 兩張動(dòng)圖-徹底明白TCP的三次握手與四次

    2024年02月07日
    瀏覽(95)
  • ARM64函數(shù)調(diào)用流程分析

    ARM64函數(shù)調(diào)用流程分析

    ARM64 程序調(diào)用標(biāo)準(zhǔn) 下圖是介紹一個(gè)簡單函數(shù)調(diào)用的示例,在該示例中簡單介紹了棧的使用。 2.1.1 main的C代碼實(shí)現(xiàn) 2.1.2 main函數(shù)對(duì)應(yīng)匯編及其分析 0000000000000114 main: main函數(shù)的入口 114: a9be7bfd stp x29, x30, [sp, #-32]! 將sp = sp - 32,為main函數(shù)開一個(gè)32Byte的??臻g,然后將x29(FP),X30(LR)寄

    2024年02月11日
    瀏覽(17)
  • 基于Java企業(yè)客戶信息反饋平臺(tái)詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)

    基于Java企業(yè)客戶信息反饋平臺(tái)詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)

    博主介紹 : ? 全網(wǎng)粉絲30W+,csdn特邀作者、博客專家、CSDN新星計(jì)劃導(dǎo)師、Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,博客之星、掘金/華為云/阿里云/InfoQ等平臺(tái)優(yōu)質(zhì)作者、專注于Java技術(shù)領(lǐng)域和學(xué)生畢業(yè)項(xiàng)目實(shí)戰(zhàn),高校老師/講師/同行交流合作 ? 主要內(nèi)容: SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、P

    2024年01月24日
    瀏覽(24)
  • 基于SpringBoot音樂網(wǎng)站與分享平臺(tái)詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)

    基于SpringBoot音樂網(wǎng)站與分享平臺(tái)詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)

    博主介紹 : ? 全網(wǎng)粉絲30W+,csdn特邀作者、博客專家、CSDN新星計(jì)劃導(dǎo)師、Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者,博客之星、掘金/華為云/阿里云/InfoQ等平臺(tái)優(yōu)質(zhì)作者、專注于Java技術(shù)領(lǐng)域和學(xué)生畢業(yè)項(xiàng)目實(shí)戰(zhàn),高校老師/講師/同行前輩交流 ? 主要內(nèi)容: SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、P

    2024年01月19日
    瀏覽(42)
  • Matlab之智能優(yōu)化算法函數(shù)調(diào)用

    Matlab之智能優(yōu)化算法函數(shù)調(diào)用

    目錄 1.句柄函數(shù) 2.遺傳算法 3.粒子群算法 4.模擬退火 1.句柄函數(shù) ????????句柄函數(shù)即我們要求的目標(biāo)函數(shù),以下三種算法的調(diào)用僅是求解最小值,若要求目標(biāo)函數(shù)的最大值,可在返回結(jié)果中加負(fù)號(hào)。 句柄函數(shù)圖像: ????????????????? ? ?? ? 畫圖代碼: 2.遺傳算

    2024年02月10日
    瀏覽(20)
  • Qt調(diào)用Python詳細(xì)過程

    Qt調(diào)用Python詳細(xì)過程

    ? 本文福利, 莬 費(fèi)領(lǐng)取Qt開發(fā)學(xué)習(xí)資料包、技術(shù)視頻,內(nèi)容包括(C++語言基礎(chǔ),Qt編程入門,QT信號(hào)與槽機(jī)制,QT界面開發(fā)-圖像繪制,QT網(wǎng)絡(luò),QT數(shù)據(jù)庫編程,QT項(xiàng)目實(shí)戰(zhàn),QSS,OpenCV,Quick模塊,面試題等等)↓↓↓↓↓↓見下面↓↓文章底部點(diǎn)擊 莬 費(fèi)領(lǐng)取↓↓ 編寫Python代碼,

    2023年04月11日
    瀏覽(21)
  • matlab重名函數(shù)調(diào)用踩坑記錄

    matlab重名函數(shù)調(diào)用踩坑記錄

    我新安裝了matlab的robotics toolbox,然而調(diào)用的 rotx 不是我想要的函數(shù)。 我上網(wǎng)查了一下資料,知乎和csdn有相關(guān)的回答,但是我試了一下還是不行。它們的方法是移除路徑再添加路徑避免函數(shù)的沖突。相關(guān)方法放在文末的相關(guān)參考 1 2 。 這里建議先用一下相關(guān)參考的方法,如果

    2024年02月16日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包