qt - QT:实现QWidget的子类并生成dll时的问题
问题描述
我想实现一个子类QWidget
,并将其作为dll。
最简单的例子是:
// widget.h
#ifndef mywidget_header_h
#define mywidget_header_h
#ifndef Widget_Exports
#define Widget_Export __declspec(dllexport)
#else
#define Widget_Export __declspec(dllimport)
#endif
#include <qwidget.h>
class Widget_Export Widget: public QWidget
{
public:
Widget();
}
#endif
// -----------------------------------------------------------
// widget.cpp
#include "widget.h"
Widget::Widget():
QWidget()
{
}
一个错误被报告为:
unresolve external symbol "__declspec(dllimport) const Widget::`vftable` {for `QObject`}" (__imp_??_7Widget@@6BQObject@@@), function "public: __cdecl Widget::Widget(void)" (??0widget@@QEAA@XZ)
如何解决这个问题呢?任何建议表示赞赏!
我的环境是:
win10
vs2019
qt:5.12
解决方案
推荐阅读
- sql - 连接两个 CTE 与 CTE 是表时的结果不同
- javascript - 如何测试 React Native 模块?
- docker - 附加卷 -v 时 Docker 设置入口点
- javascript - NextJS: Waiting for the data from Google Firestore
- android - 如何在 Android Studio 中仅使用稳定版本的依赖项
- php - how can i convert curl script to php?
- mysql - Cannot Delete General Log File for MySQL - Shows Still Open In Workbench
- python-3.x - 将文件复制到一个位置直到驱动器已满 - 然后转移到新位置
- jquery - 为什么我会收到一条错误消息,指出 .attr 不是函数?
- asp.net-mvc - JsonResult 和 ObjectResult 不是相互派生的——为什么?