c++ 遍历读取 mwArray
先安装 MATLAB Runtime
https://www.mathworks.com/products/compiler/matlab-runtime.html
我路径是 D:\Program Files\MATLAB\MATLAB Runtime
使用 Qt 工程
配置 QT pro 文件
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++11
# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
main.cpp \
mainwindow.cpp
HEADERS += \
mainwindow.h
FORMS += \
mainwindow.ui
DESTDIR= $$PWD/app
INCLUDEPATH += 'D:/Program Files/MATLAB/MATLAB Runtime/v912/extern/include'
DEPENDPATH += 'D:/Program Files/MATLAB/MATLAB Runtime/v912/extern/include'
LIBS += -L'D:/Program Files/MATLAB/MATLAB Runtime/v912/extern/lib/win64/' -llibMatlabCppSharedLib \
-L'D:/Program Files/MATLAB/MATLAB Runtime/v912/extern/lib/win64/microsoft/' -lmclmcrrt \
-L'D:/Program Files/MATLAB/MATLAB Runtime/v912/extern/lib/win64/microsoft/' -lmclmcr \
-L'D:/Program Files/MATLAB/MATLAB Runtime/v912/extern/lib/win64/microsoft/' -llibMatlabDataArray
函数
/*!
* \brief debugFunc 递归打印 mwArray
* \param data mwArray
* \param data_count mwArray 元素个数
*/
void debugFunc(mwArray data,int data_count)
{
for (int i = 1; i <= data_count; i++)
{
//std::cout << "i:" << i << std::endl;
mwArray item = data(i);
int size = item.NumberOfElements();
if(size >1){
std::cout << "size : "<<size << std::endl;
debugFunc(item,size);
}
else
{
std::cout<<item<<" ";
if( (i%8) == 0)//8个换行显示
std::cout<<std::endl;
}
}
};