QT-OpcUa使用open62541相关释疑

Qt-OpcUa使用

尝试在Qt中使用OpcUa相关,查找官方文档得知,在相应的pro文件中添加如下代码即可:

QT += opcua

但是在实际编译时发现报错,提示opcua模块不存在。

Project ERROR: Unknown module(s) in QT: opcua

Qt中集成了Open62541, version 0.3版本,但是需要手动编译相关代码,才能在Qt项目配置中直接使用。

参考:https://blog.basyskom.com/building-qt-opc-ua-with-open62541/

编译的前提是,需要安装Perl相关,下载地址为 https://www.perl.org/get.html,笔者在Windows-7-64bit环境下,使用的是http://strawberryperl.com/ 包。

Perl相关安装成功后,按照https://blog.basyskom.com/building-qt-opc-ua-with-open62541/中的提示进一步操作即可。

譬如Windows下编译opcua相关,使用qt提供的代码仓库进行编译即可,注意需要使用Qt集成工具中的命令行:

git clone https://code.qt.io/qt/qtopcua.git
cd qtopcua
git checkout 5.12
mkdir build
cd build
qmake ..
mingw32-make
mingw32-make install

编译安装成功后,相应的plugin目录下会多出opcua目录,重新编译项目,不再提示opcua模块不存在。

在这里插入图片描述
opcua目录下仅存在两个dll:
在这里插入图片描述
可见此处仅为链接时库,如修改opcua名称,不会影响编译,但是可能会影响运行时链接。

参考内容


版权声明:本文为vivisoul原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。