当前位置: 首页 > article >正文

qt5.12.12插件机制无法加载插件问题

环境:win11 + vs2015 + qt5.12.12

问题描述:确保插件代码正确的情况下,无法解析插件接口(即QPluginLoader类的instance(); 返回为空)。

问题现象:1、qt5.12.12的debug下无法解析;2、release下禁止优化模式无法解析。

问题原因:qt5.12.12工程不能使用禁止优化模式“已禁用(/Od)”。

解决方法: 在debug或release下工程属性->C/C++->优化->优化的值修改为“使大小最小化 (/O1)”、“使速度最大化 (/O2)”、“完全优化 (/Ox)”三种都可以(非“已禁用(/Od)”选项即可)。

正确插件代码如下:


// 接口类
class TestInterface
{
public:
	virtual ~TestInterface() {}
	virtual int test() = 0;
};
Q_DECLARE_INTERFACE(TestInterface, "TestInterface.sdfsdfds")

// 接口实现类
class DllPlugin : public QObject, public TestInterface
{
	Q_OBJECT
	Q_PLUGIN_METADATA(IID "TestInterface.BrushInterface")
	Q_INTERFACES(TestInterface)

public:
	DllPlugin();
	virtual int test();
};

// 插件加载代码
int main(int argc, char *argv[])
{
	QPluginLoader* plugin = new QPluginLoader("dllplugin.dll");
	QObject* Instance = plugin->instance();
	QString dd = plugin->errorString();
}


http://www.kler.cn/news/361955.html

相关文章:

  • 数字后端实现静态时序分析STA Timing Signoff之min period violation
  • 【UE5】将2D切片图渲染为体积纹理,最终实现使用RT实时绘制体积纹理【第六篇-阶段总结篇】
  • Dockerfile 中关于 RUN 的奇怪写法 -- 以 | 开头
  • Python爬网站图片、CSS文件和JS文件
  • 专线物流公告服务平台痛点分析:重塑信任、效率与透明度的新篇章
  • 力扣day2
  • 毕业生找工作的攻略:从校园到职场的成功之路
  • R语言绘图——文本注释
  • LLaMA Factory环境配置
  • 猎板高频PCB的制成能力分享
  • CISAW安全集成,协助组织构建坚固的信息防护堡垒
  • 【一站式学会Kotlin】第二十五 Kotlin内部类和嵌套类的区别和案例
  • 智慧交通新征程:亿维锐创与图为科技达成战略合作
  • STM32+CubeMX -- 开发辅助工具
  • 蓝桥杯基本操作和运算
  • 【某农业大学计算机网络实验报告】实验一 集线器和交换机的对比
  • excel将文本型数字转变为数值型数字
  • ppt模板一键套用怎么操作?制作ppt基础步骤手把手教你
  • Java中的异步编程模型
  • LN9361 低噪声电荷泵 DC/DC 转换器
  • 什么是缓存?
  • 群控系统服务端开发模式-业务流程图补充
  • Android使用协程实现自定义Toast
  • 一、python基础
  • IDE使用技巧与插件推荐
  • 如何借助月线和日线图选股?