目录
一、场景
qt版本:qt6.7.0版本
迁移前:工程是用qt5.15版本编写的,在工程中有对doc文档的解析逻辑,.pro文件中有引用:
QT += axcontainer
二、问题现象
用qt6.7.0编译工程,报错:
三、原因
因为axcontainer是ActiveX控件容器,它是Microsoft Windows操作系统的一部分,而Qt是一个跨平台的应用程序框架,不是Windows操作系统的一部分,因此Qt默认并不支持ActiveX控件容器。
四、解决方案
要在Qt中使用ActiveX控件容器,需要使用Qt的ActiveQt模块。ActiveQt模块是Qt的一个扩展模块,用于支持ActiveX控件和COM组件。
通过ActiveQt模块,可以在Qt应用程序中嵌入ActiveX控件,并且可以像使用Qt控件一样使用它们。
运行已安装的Qt目录下的MaintenanceTool.exe,下载并安装ActiveQt模块,步骤如下:
然后下一步进行下载安装即可。
再打开原来的工程进行编译,即可编译正常。