Как связать двигатель Matlab для C ++ с QT Creator [Duplicate]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как связать двигатель Matlab для C ++ с QT Creator [Duplicate]

Сообщение Anonymous »

Я пытаюсь использовать Matlab Engine для C ++ в QT (на основе https://www.mathworks.com/help/matlab/m ... nment.html) и у меня есть некоторые проблемы. Когда я изменяю файл .pro, как это < /p>
QT += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

CONFIG += c++17

# 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

# Thêm đường dẫn đến file tiêu đề (header)
INCLUDEPATH += "E:/soft ware/engineering/matlab/extern/include"

# Thêm đường dẫn đến thư viện và liên kết với libmatlabengine
LIBS += -L"E:/soft ware/engineering/matlab/extern/lib/win64/mingw64" -lMatlabEngine

# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

# Thêm cấu hình cho Windows (release/debug)
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/'../../soft ware/engineering/matlab/extern/lib/win64/release/' -lMatlabEngine
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/'../../soft ware/engineering/matlab/extern/lib/win64/debug/' -lMatlabEngine
else:unix: LIBS += -L$$PWD/'../../soft ware/engineering/matlab/extern/lib/win64/' -lMatlabEngine

INCLUDEPATH += $$PWD/'../../soft ware/engineering/matlab/extern/include'
DEPENDPATH += $$PWD/'../../soft ware/engineering/matlab/extern/include'
< /code>
Затем я добавляю файл заголовка на main.cpp, как это < /p>
#include "mainwindow.h"
#include

#include"MatlabEngine.hpp"

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
< /code>
он показывает ошибку, подобную этой < /p>
g++ -Wl,-subsystem,windows -mthreads -o debug\untitled1.exe debug/main.o debug/mainwindow.o debug/moc_mainwindow.o -L"E:\soft ware\engineering\matlab\extern\lib\win64\mingw64" -L"E:\soft ware\engineering\matlab\extern\lib\win64\debug" -lMatlabEngine E:\software1\QT\6.8.2\mingw_64\lib\libQt6Widgets.a E:\software1\QT\6.8.2\mingw_64\lib\libQt6Gui.a E:\software1\QT\6.8.2\mingw_64\lib\libQt6Core.a -lmingw32 E:\software1\QT\6.8.2\mingw_64\lib\libQt6EntryPoint.a -lshell32
E:/software1/QT/Tools/mingw1310_64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: debug/main.o: in function `void (*matlab::data::detail::resolveFunction(matlab::data::detail::FunctionType))(matlab::data::detail::ReferenceImpl*)':
E:/soft ware/engineering/matlab/extern/include/MatlabDataArray/detail/ExceptionHelpers.hpp:124: undefined reference to `get_function_ptr'
E:/software1/QT/Tools/mingw1310_64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: debug/main.o: in function `void (*matlab::data::detail::resolveFunction(matlab::data::detail::FunctionType))(matlab::data::impl::ArrayImpl*)':
E:/soft ware/engineering/matlab/extern/include/MatlabDataArray/detail/ExceptionHelpers.hpp:124: undefined reference to `get_function_ptr'
E:/software1/QT/Tools/mingw1310_64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: debug/main.o: in function `int (*matlab::data::detail::resolveFunction(matlab::data::detail::FunctionType))(matlab::data::impl::ArrayImpl*, int*)':
E:/soft ware/engineering/matlab/extern/include/MatlabDataArray/detail/ExceptionHelpers.hpp:124: undefined reference to `get_function_ptr'
E:/software1/QT/Tools/mingw1310_64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: debug/main.o: in function `unsigned long long (*matlab::data::detail::resolveFunction(matlab::data::detail::FunctionType))(matlab::data::impl::ArrayImpl*)':
E:/soft ware/engineering/matlab/extern/include/MatlabDataArray/detail/ExceptionHelpers.hpp:124: undefined reference to `get_function_ptr'
E:/software1/QT/Tools/mingw1310_64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: debug/main.o: in function `bool (*matlab::data::detail::resolveFunction(matlab::data::detail::FunctionType))(matlab::data::impl::ArrayImpl*, bool, matlab::data::impl::ArrayImpl**)':
E:/soft ware/engineering/matlab/extern/include/MatlabDataArray/detail/ExceptionHelpers.hpp:124: undefined reference to `get_function_ptr'
E:/software1/QT/Tools/mingw1310_64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: debug/main.o:E:/soft ware/engineering/matlab/extern/include/MatlabDataArray/detail/ExceptionHelpers.hpp:124: more undefined references to `get_function_ptr' follow
< /code>
Может ли кто -нибудь помочь мне решить эту проблему? Спасибо за вашу помощь.
Я хочу использовать двигатель Matlab в QT, чтобы запустить файл .m

Подробнее здесь: https://stackoverflow.com/questions/794 ... qt-creator
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»