将kithara库添加到QT中使用

Kithara简介

常用的实时Etherkat主站和从站有codesys,soem(免费)等。而KRTS也是其中小众的产品之一。 德国Kithara软件公司是业界知名的Windows实时拓展软件专家,他的模块化Windows实时拓展软件Kithara Realtime Suite(KRTS)支持Windows XP/7/8/10(32&64bit),为Windows平台提供优秀的实时性能,实现了EtherCAT工业实时以太网主协议站,支持通过图像信息实时采集和处理。

Kithara RealTime Suite用于Windows操作系统的实时拓展。目前,由20多种不同模块组成,除少数一些模块依赖于其他特定模块外,各模块间可任意组合。潜在的应用领域几乎无穷无尽,从研究中的测试配置到医疗应用和工业应用 见官网kithara.com/cn/solution…


实现背景

kithara软件安装后,在安装目录下有实现具体应用的demo可供使用,但是采用的编译器是VS2013和VS2015,因此需要把平台改到qt。


实现步骤

主要思想就是把VS中使用的相关依赖文件添加到QT中。相关的文件KrtsDemo.h KrtsDemo_x64.lib KrtsDemo_dyn.cpp


1 将kithara安装目录D:\ProgramFiles\Kithara\RealTime Suite Demo 10\dev下的以上三个文件复制到新建的工程目录下

2 将以上的.h .cpp文件添加到工程中 此时 编译会报错 所以执行一下 qmake,qmake后新添加的依赖关系才会被应用。

3 在mainwindow.h里添加文件包含 #include<KrtsDemo.h>

4 此时编译会报错、 报错信息如下


E:\QtProject\KitharaProj\kitharastudy\KRTStest\KRTStest\KrtsDemo.h:135: error:conflicting declaration 'typedef long long unsigned int ulong'
typedef unsigned __int64                        ulong;


因此要把 ulong这个类型的定义替换掉

文件krtsdemo.h line 135 把ulong的typedefine替换成其他名字即可


上一篇:STM32与测温芯片ADT7410通过模拟IIC通信


下一篇:kithara函数学习记录