缺少QPromise
Opened this issue · 2 comments
zyy890508 commented
编译发现缺少QPromise 找到QPromise之后再编译
QtEventBus-master\QtEventBus\qeventbus.cpp:4: error: qexport.h: No such file or directory
....\QtEventBus-master\QtEventBus\qeventbus.cpp:4:10: fatal error: qexport.h: No such file or directory
#include "qexport.h"
^~~~~~~~~~~
weypro commented
这是该作者的另一个库,如果不想使用,可以删掉并手动改为简单的单例模式实现,例如:
QEventBus *QEventBus::globalInstance()
{
if (instance == nullptr) {
instance = new QEventBus();
}
return instance;
}
此外还需要再修改,我这边的原始错误是 error C2280: “PromiseResolver &PromiseResolver::operator =(const PromiseResolver &)”: 尝试引用已删除的函数
方案是将以下代码中的const删除:
template<typename R>
struct PromiseResolver {
QtPromise::QPromiseResolve<R> const resolve;
QtPromise::QPromiseReject<R> const reject;
};
原因:const或引用类型数据成员会导致编译器声明删除拷贝赋值运算符,参考https://learn.microsoft.com/zh-cn/cpp/error-messages/compiler-errors-1/compiler-error-c2280?view=msvc-170
Fishoo0 commented
邮件已收到,将尽快回复,谢谢~