将dll链接到qt中的c ++以读取.mat文件

时间:2013-07-04 11:44:36

标签: qt dll linker undefined-reference mat

我正在使用Qt Creator 2.4.1(基于Qt 4.7.4) 现在我想打开我从Matlab获得的.mat文件。

我正在使用matOpen的基本功能 最初,我知道所需的标题。它们是mat.h,matrix.h和tmw.h. 现在,在运行代码之前,我需要链接库。据我所知,所需的库是libmat.dll和libmw.dll。我将它们添加到.pro文件中,如下所示。

QT       += core

QT       -= gui

TARGET = mat_open_test
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app

SOURCES += main.cpp

HEADERS += \
mat.h \
matrix.h \
tmwtypes.h

LIBS += -L"C:\Users\skanduri\Documents\C ++\mat_open_test-build-desktop-      Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK__Debug\debug\libmat.dll"

LIBS += -L"C:\Users\skanduri\Documents\C ++\mat_open_test-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK__Debug\debug\libmx.dll"

我仍然得到错误:对matOpen的未定义引用..我确定问题是与链接..但我不知道如何解决它。 Qt正在使用的编译器是MinGw。

1 个答案:

答案 0 :(得分:0)

您只指定库路径,而不是库本身。尝试

LIBS += -L"C:\Users\skanduri\Documents\C ++\mat_open_test-build-desktop-Qt_4_8_1_for_Desktop_-_MinGW__Qt_SDK__Debug\debug"
LIBS += -llibmx
LIBS += -llibmat