CodeSys通过C函数接口调用Qt

建议先查看之前的文章【CodeSys中调用C语言写的动态库】,了解如何创建一个能够被codesys调用的动态库。
假如想要在函数中使用Qt或者第三方库(比如opencv等),可以在其自动生成的makefile文件中设置好相应的参数。
在这里插入图片描述

比如我这里就是这样:

##############################################################################
#	Copyright:		Copyright CODESYS Development GmbH
#	Program:		Extension API for the Linux SL products
###############################################################################
# with this makefile you can influence the build of your component 
#
#
# Hints:
#  - the name of the *Itf.m4 file in this folder will be used as name of the shared object (and component name)
#  - all C files in this folder will be compiled by default
# # set versions of your shared object
# must be single digit, decimal
MAJORVER=0
MINORVER=1# set a component version (must match your IEC library version)
# must be 4 bytes, hexadecimal
CMPVERSION=0x01000000# set a component ID 
# must be 2 bytes >= 0x2000 and hexadecimal and can be used to differentiate different components
CMPID=0x2000# set your tools
DOS2UNIX = dos2unix
M4 = m4# set a compiler
#CC = gcc
CC = g++#INCLUDEPATH += /usr/include/opencv4
#LIBS += /usr/lib/x86_64-linux-gnu/libopencv_*.so          #添加库# add some compiler flags (with += )
#CFLAGS += -g# add some include paths (with +=)
#INCLUDES += -I.# add some linker flags (with += )
#LDFLAGS += # add some libraries that you might need (with += )
#LDLIBS += -lc# 为了能够使用opencv而做的一些设置
INCLUDES += -I/usr/include/opencv4\-I/usr/include/opencv4/opencv2
LDLIBS += /usr/lib/x86_64-linux-gnu/libopencv_*.so# 为了能够使用Qt而做的一些参数设置
INCLUDES += -I/opt/Qt/5.15.2/gcc_64/include\-I/opt/Qt/5.15.2/gcc_64/include/QtCore\-I/opt/Qt/5.15.2/gcc_64/mkspecs/linux-g++
LDLIBS += /opt/Qt/5.15.2/gcc_64/lib/*.so# include of the SDK makefiles
SDKDIR=/home/yong/Desktop/PLC/ExtensionSDK
include ${SDKDIR}/makefile

主要是做了三个修改:
1.将编译器由c改成c++
在这里插入图片描述
2.使能opencv库
在这里插入图片描述

3.使能Qt库
在这里插入图片描述
这样操作之后,在include对应的头文件后,就可以在函数中使用opencv、Qt了。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/273987.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据分析】专栏文章索引

为了方便 快速定位 和 便于文章间的相互引用等 作为一个快速准确的导航工具 数据分析 目录: (一)数据分析介绍 (二)环境搭建 (三)matploatlib绘图 (四)numpy &…

Swarm集群负载均衡的实现方式

目录 1. 背景2. 参考3. 环境4. 概念5. Swarm 网络5.1 Swarm 网络连接情况5.2 外部访问数据包转发流程 6 Swarm集群服务信息7 Swarm集群数据包转发流程7.1 Client发送请求至集群节点9090端口7.1.1 集群节点宿主机Netfilter规则7.1.2 Tcpdump抓包验证结果 7.2 Ingress_sbox下IPVS…

JS 事件捕获、事件冒泡、事件委托

js事件机制在开发中可以说时刻使用,例如dom绑定事件、监听其自身事件等。js事件机制有事件捕获、事件冒泡俩种机制,我们分别说下这俩种机制的使用场景。 一、概念 事件捕获顺序如下: window > document > body > div 事件冒泡顺序…

物联网的商业模式洞察

大约在十年前(2014年11月),全球知名管理思想家、哈佛商学院教授迈克尔波特与PTC前首席执行官吉姆赫普尔曼,在《哈佛商业评论》上联合撰写了一篇备受赞誉的文章,题为《智能互联产品如何改变竞争》。在这篇文章中&#x…

【自动驾驶系列丛书学习】2.《自动驾驶汽车环境感知》学习笔记

《自动驾驶技术概论》学习笔记 致谢:作者:甄先通、黄坚、王亮、夏添 -------------------------------------------------------------------------------------------------------- 笔记目录 《自动驾驶技术概论》学习笔记 1.自动驾驶环境感知概述…

LM2904DT运算放大器中文资料规格书PDF数据手册引脚图参数图片功能概述

产品概述: 该电路由两个独立的高增益运算放大器(运算放大器)组成,内部实现了频率补偿。它们专为汽车和工业控制系统而设计。该电路采用单电源供电,工作电压范围很广。低功耗与电源电压的大小无关。 应用领域包括传感…

网络基础『 序列化与反序列化』

🔭个人主页: 北 海 🛜所属专栏: Linux学习之旅、神奇的网络世界 💻操作环境: CentOS 7.6 阿里云远程服务器 文章目录 🌤️前言🌦️正文1.协议的重要性2.什么是序列化与反序列化&…

优雅的记录日志,拒绝打印模糊信息导致bug定位难

想必大家都有过这样的经历:在项目中遇到报错需要紧急修复时,却因为日志信息模糊不清,无法迅速准确地定位到错误源头,这确实让人感到十分苦恼和无奈。 在新入职一家公司并着手修改遗留bug时,经常发现之前的开发者并未记…

Redis 的 key 的过期策略是怎么实现的【经典面试题】

前言 在 Redis 中可以通过命令 expire 对指定的 key 值设置过期时间,在时间到了以后该键值对就会自动删除。 一个 Redis 中可能会存在很多的 key ,而这些 key 中有很大的一部分都会有过期时间,那么 Redis 怎么知道哪些 key 已经到了过期时间需…

大语言模型系列-中文开源大模型

文章目录 前言一、主流开源大模型二、中文开源大模型排行榜 前言 近期,OpenAI 的主要竞争者 Anthropic 推出了他们的新一代大型语言模型 Claude 3,该系列涵盖了三个不同规模的模型:Opus、Sonnet 和 Haiku。 Claude 3声称已经全面超越GPT-4。…

Python AI 之Stable-Diffusion-WebUI

Stable-Diffusion-WebUI简介 通过Gradio库,实现Stable Diffusion web 管理接口 Windows 11 安装Stable-Diffusion-WebUI 个人认为Stable-Diffusion-WebUI 官网提供的代码安装手册/自动安装不适合新手安装,我这边将一步步讲述我是如何搭建Python Conda…

WorkPlus Meet提供高效、安全视频会议解决方案

WorkPlus Meet是一款私有部署和定制化的视频会议解决方案,为企业提供高效、安全的远程协作平台。随着全球数字化转型的加速,视频会议已成为企业必不可少的工作工具,而WorkPlus Meet的私有部署和定制化功能,为企业提供了更大的控制…

HYBBS 表白墙网站PHP程序源码,支持封装成APP

PHP表白墙网站源码,适用于校园内或校区间使用,同时支持封装成APP。告别使用QQ空间的表白墙。 简单安装,只需PHP版本5.6以上即可。 通过上传程序进行安装,并设置账号密码,登录后台后切换模板,适配手机和PC…

2024年最新阿里云和腾讯云云服务器价格租用对比

2024年阿里云服务器和腾讯云服务器价格战已经打响,阿里云服务器优惠61元一年起,腾讯云服务器61元一年,2核2G3M、2核4G、4核8G、4核16G、8核16G、16核32G、16核64G等配置价格对比,阿腾云atengyun.com整理阿里云和腾讯云服务器详细配…

Kotlin:枚举类

点击查看枚举类中文文档 点击查看枚举类英文文档 枚举类的最基本的用法是实现类型安全的枚举: enum class Direction {NORTH, SOUTH, WEST, EAST }每个枚举常量都是一个对象。枚举常量用逗号分隔。 初始化 因为每一个枚举都是枚举类的实例,所以他们可…

Sass语法小册-笔记迁移

Sass 1、extend 一个元素使用的样式与另一个元素完全相同,但又添加了额外的样式。 .a{width: 100px;height: 100px;background-color: greenyellow;} .b{extend .a;background-color: orangered;//覆盖.a继承来的背景色 } 结果-》 .b[data-v-5d9daadb] {backgrou…

Github 2024-03-11 开源项目周报 Top15

根据Github Trendings的统计,本周(2024-03-11统计)共有15个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目4TypeScript项目3Jupyter Notebook项目3C#项目1HTML项目1CSS项目1Dart项目1Lua项目1Shell项目1Rust项目1Java项目1C++项目1屏幕截图转…

HTML 语义化:构建优质网页的关键

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

蓝桥杯真题讲解:整数删除

蓝桥杯真题讲解&#xff1a;整数删除 一、视频讲解二、暴力代码三、正解代码 一、视频讲解 蓝桥杯真题讲解&#xff1a;整数删除 二、暴力代码 // 暴力模拟 #include<bits/stdc.h> #define int long long #define INF 0x3f3f3f3f3f3f3f using namespace std; const in…

Java后端八股文之Redis

文章目录 1. Redis是什么&#xff1f;2. Redis为什么这么快&#xff1f;3. 为什么要使用缓存&#xff1f;4. Redis几种使用场景&#xff1a;5. Redis的Zset底层为什么要使用跳表而不是平衡树、红黑树或者B树&#xff1f;6.Redis持久化6.1 什么是RDB持久化6.1.1RDB创建快照会阻塞…