参考
https://blog.csdn.net/yuxue321/article/details/109552210
步骤
-
安装官方qt5.12.3,安装时勾选64位版本、32位版本
-
下载glib和pkg,到mingw73_32目录下,解压到当前文件夹
https://brltty.app/archive/Windows/MinGW/glib_2.34.3-1_win32.zip
https://brltty.app/archive/Windows/MinGW/pkg-config_0.28-1_win32.zip -
mingw73_32目录,例如:D:\Qt\Qt5.12.3\5.12.3\mingw73_32
-
下载dtkcore、dtkwidget源码
https://gitee.com/ch593030323/dtkwidget
https://gitee.com/ch593030323/dtkcore -
编译,这里用的时 MinGW 7.3.0-64bit
1. qmake dtkcore.pro DTK_STATIC_LIB=YES 2. mingw32-make 3. mingw32-make install 4. qmake dtkwidget.pro DTK_STATIC_LIB=YES 5. mingw32-make 6. mingw32-make install
-
找到collections.exe,添加qt动态库可以正常运行
实际遇到的问题
- 5.12.3\mingw73_32编译dtkcore成功,编译dtkwidget时失败
- 5.12.3\mingw73_64编译dtkcore成功,编译dtkwidget时成功
- 5.12.3\mingw73_64 qmake时必须加DTK_STATIC_LIB=YES才能成功,dtkcore和dtkwidget的情况一样
一个简单的空项目
MinGW 7.3.0-64bit编译时不需要指定DTK_STATIC_LIB=YES即可运行
pro
QT += core gui multimediawidgets svg widgets dtkcore dtkwidget
TARGET = untitled5
TEMPLATE = app
DEFINES += DTK_STATIC_LIB
CONFIG += c++11
SOURCES += main.cpp
main.cpp
#include "dlabel.h"
#include <DApplication>
DWIDGET_USE_NAMESPACE
int main(int argc, char *argv[])
{
DApplication a(argc, argv);
DLabel label;
lable.show();
return a.exec();
}