matlab — чтение файлов Mat в C ++ в проекте Qt

Я пытаюсь прочитать mat-файл в собственном mat_file_read.cpp в проекте Qt, и у меня возникли проблемы. Моя ошибка:

error lnk2019: unresolved external symbol matOpen referenced in function "int __cdecl read_mat_file(class QString)" (?read_mat_file@@YAHVQString@@@Z)"

В мой project.pro я включаю:

INCLUDEPATH += C:\Program Files\MATLAB\MATLAB Production Server\R2015a\extern\include\
LIBS += -LC:\Program Files\MATLAB\MATLAB Production Server\R2015a\bin\win64
-llibmx
-llibmat
-llibeng

В заголовке моего файла cpp:

#include <stdio.h>
#include <stdlib.h>
#include "mat.h"#include "matrix.h"#include <QString>
#include <QFileDialog>

В моем mat_file_reader.cpp:

#include "read_mat_file.h"int read_mat_file(QString file)
{

// Variable definition
int result;
MATFile *pmat;

if (file.isEmpty()) return 0;
QByteArray ba = file.toLatin1();
const char *rootFile = ba.data();
pmat = matOpen(rootFile,"r");

result = 0;

return (result==0)?EXIT_SUCCESS:EXIT_FAILURE;

}

И любопытно, что редактор Qt распознает функции из «mat.h». Он предлагает мне функции ….

Большое спасибо заранее.

2

Решение

Наконец, я нашел решение, хотя я не понимаю, почему хорошо … Я изменил только следующие строки в моем project.pro из Qt:

INCLUDEPATH += C:\Program Files\MATLAB\MATLAB Production Server\R2015a\extern\include\
LIBS += -llibmx -LC:\librerias\matlab\extern\lib\win64\microsoft
LIBS += -llibmat -LC:\librerias\matlab\extern\lib\win64\microsoft
LIBS += -llibeng -LC:\librerias\matlab\extern\lib\win64\microsoft

Сейчас это работает …. Это странно, я думаю, но для меня это нормально. 🙂

Большое спасибо @Suever за поддержку.

0

Другие решения

Я думаю, может быть, это потому, что вы забыли \ в конце ваших строк.
А также, может быть, вам нужно избегать пробелов на вашем пути, или попробуйте положить его в $$quote(), вроде следующего:

INCLUDEPATH += $$quote(C:/Program Files/MATLAB/MATLAB Production Server/R2015a/extern/include)
LIBS += -L$$quote(C:/Program Files/MATLAB/MATLAB Production Server/R2015a/bin/win64) \
-llibmx \
-llibmat \
-llibeng
0

По вопросам рекламы [email protected]