由于Qt界面程序需要进行算法开发,考虑算法开发便捷性,决定使用matlab进行算法开发,因此需要用到matlab和C++混合编程技术。
看了其他文章,大多是使用msvc编译器作为qt和matlab的编译器,但是这种方案还需要额外安装msvc编译环境,并不简单。
本文章采用qt自带的mingw64编译器作为matlab和c++的编译器,不需要安装msvc编译器。
在配置环境过程中,遇到了一些问题,在此记录下问题来源和解决方案。
1 开发环境
操作系统: windows server 2016 (同 win10)
Qt版本:Qt 5.12.2
matlab版本:matlab r2018b
编译器版本:mingw730-64(qt安装工具自带版本)
2 Qt安装与配置
1 下载qt
建议去官网下载 https://www1.qt.io/download-open-source-access/
下载是可能需要先注册qt账号,如不想注册,这里提供一份我下载好的安装程序 http://dl.dbyte.cn/qt.exe
2 安装qt
打开下载好的qt安装程序,一直下一步,安装目录建议安装到任意盘符的根目录,注意安装目录不要有中文路径,直到出现安装组件界面,如下图:
组件中勾选某一版本的QT并勾选mingw 64 bit版本,并在tool目录下勾选对应的mingw版本编译器版本,注意选择64bit,因为matlab版本是64bit
之后一直下一步,等待qt安装完成。
3 matlab编译生成c++ API
1 设置系统环境变量
安装好qt之后,会在qt安装目录下生成Tools
文件夹,文件夹内有 mingw***_64
文件夹,将该文件夹设置环境变量,告诉matlab编译器所在目录。
具体步骤如下
win10下 右键此电脑
-> 属性
-> 高级系统设置
-> 高级
-> 环境变量
-> 新建
(系统变量)
变量名: MW_MINGW64_LOC
变量值: C:\Qt\Tools\mingw730_64
请对应qt安装编译器所在目录