kira 发表于 2023-5-4 16:20:16

EPICS Qt安装

本帖最后由 kira 于 2023-5-4 16:20 编辑

前言本文主要记录了EPICS Qt在Linux上的安装步骤。这里以loongnix操作系统为例,Ubuntu系统上编译安装步骤类似。EPICS Qt是一个基于Qt的分层框架,使用Channel Access (CA) and PV Access(PVA)访问EPICS数据。它是为快速开发控制系统图形界面而设计的,最初是在澳大利亚同步加速器开发的。安装EPICS这里不再写具体步骤了,总之就是非常简单,下载、解压、编译即可。具体步骤可以参考以前的文章。安装Qt直接使用终端安装Qtsudo apt update
sudo apt install qtbase5-dev qt5-qmake qtcreator
sudo apt install qtdeclarative5-dev qttools5-dev
# 安装Qt Svg库,编译QWT时需要用到
sudo apt install libqt5svg5-dev安装QWTQt EPICS推荐使用Qwt 6.1.4,如果在Ubuntu 20.04上直接通过终端安装也是这个版本。我使用Qwt 6.2.0编译,也是没有问题的,这里以Qwt 6.2.0为例。先下载Qwt的源码下载Qwt-6.2.0。 下载完成后解压# 解压tar.bz2
tar -jxvf qwt-6.2.0.tar.bz2
# 解压zip
unzip qwt-6.2.0.zip解压完成后编译Qwt,使用QtCreator或者在终端使用qmake都可以。然后手动将编译生成的文件复制到以下位置,例:# 复制编译生成的qwt
sudo cp -r build-qwt-unknown-Release/lib/* /usr/lib/loongarch64-linux-gnu/
# 复制编译生成的designer插件
sudo cp build-qwt-unknown-Release/designer/plugins/designer/libqwt_designer_plugin.so /usr/lib/loongarch64-linux-gnu/qt5/plugins/designer/
# 复制qwt头文件
sudo mkdir /usr/include/qwt
sudo cp qwt-6.2.0/src/*.h /usr/include/qwt安装ACAIACAI Channel Access InterfaceEPICS Qt依赖ACAI提供的Channel Access接口。cd /usr/local/epics/modules/
git clone https://github.com/andrewstarritt/acai.git
cd acai
vi configure/RELEASE.local
# 修改EPICS_BASE路径,例:
# EPICS_BASE=/usr/local/epics/base-7.0.7
make -j8
# 等待编译完成安装google protobuf如果需要EPICS Qt支持EPICS Archiver Appliance,需要安装google protobuf。sudo apt install protobuf-compiler libprotobuf-devEPICS Qt首先克隆EPICS Qt的两个代码仓库。# framework and support libraries
git clone https://github.com/qtepics/qeframework.git
# QEGui display manager
git clone https://github.com/qtepics/qegui.git这里我将代码都放在~/QtEpics目录。在开始编译前,需要先配置一些环境变量(根据自己的实际情况设置)。具体可以参考 EPICS Qt Environment Variablesexport EPICS_HOST_ARCH=linux-loongarch64
export EPICS_BASE=/usr/local/epics/base-7.0.7
export ACAI=/usr/local/epics/modules/acai
export QWT_INCLUDE_PATH=/usr/include/qwt
export QWT_ROOT=/usr/lib/loongarch64-linux-gnu
export QE_FRAMEWORK="$HOME/QtEpics/qeframework"
# 支持PV Access
export QE_PVACCESS_SUPPORT=YES
# 支持Archiver Appliance
export QE_ARCHAPPL_SUPPORT=YES
export PROTOBUF_INCLUDE_PATH=/usr/include/google/protobuf
export PROTOBUF_LIB_DIR=/usr/lib/loongarch64-linux-gnu如果环境变量设置了支持Archiver Appliance,需要先编译archapplDataSup。cd ~/QtEpics/qeframework/archapplDataSup/
make编译完成后,可以看到~/QtEpics/qeframework/lib/linux-loongarch64目录下有libarchapplData.a、libarchapplData.so两个文件。然后依次编译 qeframework qeplugin qegui。EPICS Qt文档说明需要修改configure/RELEASE文件,但我这里修改后似乎没有生效,可能是使用了Qt Creator的原因,只能通过上面的环境变量设置。注意:这里设置完环境变量,需要直接通过终端打开Qt Creator。
[*]编译qeframework ~/QtEpics/qeframework/qeframeworkSup/project/framework.pro
[*]编译qeplugin ~/QtEpics/qeframework/qepluginApp/project/qeplugin.pro
[*]编译qegui ~/QtEpics/qegui/qeguiApp/project/QEGuiApp.pro
编译过程中可能会遇到一些问题,汇总如下:
[*]找不到Qwt的头文件解决办法: 修改qeframework/qeframeworkSup/project/common/common.priINCLUDEPATH += $$(QWT_INCLUDE_PATH)
[*]找不到QEFramework的头文件解决办法: 修改对应项目的项目文件+INCLUDEPATH += $$(QE_FRAMEWORK)/include
最后将编译生成的文件复制到以下位置,例:sudo cp ~/QtEpics/qeframework/lib/linux-loongarch64/libarchapplData.so /usr/lib/loongarch64-linux-gnu/
sudo cp ~/QtEpics/qeframework/lib/linux-loongarch64/libQEFramework.so /usr/lib/loongarch64-linux-gnu/
sudo cp ~/QtEpics/qeframework/lib/linux-loongarch64/designer/libQEPlugin.so /usr/lib/loongarch64-linux-gnu/qt5/plugins/designer/运行QEGuiAppcd ~/epics/qtepics/qegui/bin/linux-loongarch64
./qegui运行测试运行时环境变量设置,例:export QE_ARCHIVE_TYPE=ARCHAPPL
export QE_ARCHIVE_LIST="http://192.168.1.2:17665/mgmt/bpl"
export EPICS_CA_ADDR_LIST="192.168.1.2:5732 192.168.1.3:6666"
关于QEGui
QE Framework控件

为了更好的阅读体验,建议您阅读原文。

sn2015ol 发表于 2023-7-4 18:37:17

很好,这个目前是免费的吧!
页: [1]
查看完整版本: EPICS Qt安装