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

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_OBJECTQ_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.lryc.cn/news/464509.html

相关文章:

  • 机器学习面试笔试知识点-线性回归、逻辑回归(Logistics Regression)和支持向量机(SVM)
  • SpringBoot民宿预订系统设计与实现
  • linux环境下C程序的编译过程以及makefile的简单使用
  • 【从零开始的LeetCode-算法】945. 使数组唯一的最小增量
  • Java程序设计:spring boot(2)
  • 服务器运维监控平台
  • css中 global 和 deep(两个样式穿透) 区别
  • 【星闪技术】WS63E模块的WiFi客户端测试
  • Android面试之5个Kotlin深度面试题:协程、密封类和高阶函数
  • 操作系统 和 初识进程
  • QT--Qlabel学习、获取文本和设置文本、文本对齐方式、文本换行、显示图片
  • 深度学习:终身学习(Life-Long Learning)详解
  • 前端UI框架
  • 最佳副屏串流解决方案:如何低成本打造电脑拓展副屏?
  • SQL Injection | SQL 注入概述
  • 【Linux 从基础到进阶】磁盘I/O性能调优
  • 浅谈AGI时代的“数据枢纽”——向量数据库
  • 生成 Excel 表列名称
  • 基于yolov10的烟雾明火检测森林火灾系统python源码+pytorch模型+评估指标曲线+精美GUI界面+数据集
  • UltraISO(软碟通)制作U盘制作Ubuntu20.04启动盘
  • 【EtherCAT实践篇一】TwinCAT 3安装、使用
  • 4、CSS3笔记
  • Docker无法拉取镜像解决办法
  • Ubuntu 20.04安装Qt 5.15(最新,超详细)
  • 桂林旅游一点通:SpringBoot平台应用
  • 【WPF】04 Http消息处理类
  • 如何精准设置线程数,提升系统性能的秘密武器!
  • 正则表达式:从入门到精通
  • CRMEB标准版Mysql修改sql_mode
  • linux驱动访问的地址为虚拟地址