CodeSys通过C函数接口调用Qt

建议先查看之前的文章【CodeSys中调用C语言写的动态库】,了解如何创建一个能够被codesys调用的动态库。

假如想要在函数中使用Qt或者第三方库(比如opencv等),可以在其自动生成的makefile文件中设置好相应的参数。

比如我这里就是这样:

bash 复制代码
##############################################################################
#	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了。

相关推荐
q***925114 小时前
PHP搭建开发环境(Windows系统)
开发语言·windows·php
Chrison_mu14 小时前
Android项目背景动效-Kotlin
android·开发语言·kotlin
啃火龙果的兔子14 小时前
如何控制kotlin项目back的时候,只回退webview的路由
开发语言·kotlin·harmonyos
拼好饭和她皆失14 小时前
C#学习入门
开发语言·学习·c#
分布式存储与RustFS14 小时前
MinIO 不再“开放”,RustFS 能否成为更优选择?
开发语言·安全·安全架构·企业存储·rustfs
Sunhen_Qiletian14 小时前
《Python开发之语言基础》第一集:python的语法元素
开发语言·python
從南走到北14 小时前
JAVA同城信息付费系统家政服务房屋租赁房屋买卖房屋装修信息发布平台小程序APP公众号源码
java·开发语言·小程序
月夜的风吹雨14 小时前
【C++红黑树】:自平衡二叉搜索树的精妙实现
开发语言·c++·红黑树
TechMasterPlus15 小时前
java:单例模式
java·开发语言·单例模式
Star在努力15 小时前
C语言复习八(2025.11.18)
c语言·算法·排序算法