我想在Windows上使用QMake + mingw创建一个Dll,其中包括一些自定义小部件和依赖的Qt库(链接到一个库)。这可以通过QMake实现吗?
到目前为止我尝试过:
创建共享库项目,并将LIBS添加到.pro文件:
QT += widgets
TARGET = testqtdll
TEMPLATE = lib
DEFINES += TESTQTDLL_LIBRARY
SOURCES += testqtdll.cpp widget.cpp
HEADERS += testqtdll.h testqtdll_global.h widget.h
FORMS += widget.ui
LIBS += -lqt5core -lqt5gui -lqt5widgets
这样生成的dll不包含QT库。
创建静态库项目,并链接qt static libs。然后在以下后创建dll:
QT += widgets
TARGET = testqtlib
TEMPLATE = lib
CONFIG += staticlib
SOURCES += testqtlib.cpp widget.cpp
HEADERS += testqtlib.h widget.h
FORMS += widget.ui
LIBS += c:/Qt/Static/5.3.1/lib/Qt5Core.a
LIBS += c:/Qt/Static/5.3.1/lib/Qt5Gui.a
LIBS += c:/Qt/Static/5.3.1/lib/Qt5Widgets.a
这样生成的lib也不包含QT库。
答案 0 :(得分:0)
毕竟我找到了解决方案。应该使用Qt静态构建来创建这样的dll。工作项目文件:
QT += core gui widgets
CONFIG += static dll
TARGET = testqtdll
TEMPLATE = lib
DEFINES += TESTQTDLL_LIBRARY
SOURCES += testqtdll.cpp widget.cpp
HEADERS += testqtdll.h testqtdll_global.h widget.h
FORMS += widget.ui