qtservice类unix部分适配Qt6修改

10 篇文章 0 订阅
本文介绍了如何在Deepin20.2.4系统上,使用Qt6集成环境编译qtservice库。主要修改包括:取消QT_QTSERVICE_EXPORT宏定义,添加debug配置,调整编译目录,并修复qtservice.cpp和qtservice_unix.cpp中与QTcpServer不一致的函数参数类型。经过这些修改,成功在类Unix系统上编译出qtservice库。
摘要由CSDN通过智能技术生成

    Qtservice是QT用于开发后台服务的库,目前支持window和类unix(包含linux)。之前qtservice源码编译不能通过,经过以下修改编译成功,生成的库在qtservice/lib目录下。

声明:只修改了类unix部分,window部分未测试。

编译环境:操作系统Deepin20.2.4,开发工具 Qt6集成环境

一、下载URL

https://github.com/qtproject/qt-solutions/tree/master/qtservice

二、适配Qt6修改记录

1、qtservice.pro

取消QT_QTSERVICE_EXPORT宏定义

#DEFINES += QT_QTSERVICE_EXPORT

unix构造配置增加debug

#unix:CONFIG += release
unix:CONFIG += debug_and_release build_all

编译生成目录设置为../lib,取消OBJECTS_DIR和MOC_DIR设置

#   DESTDIR = ../../../../run/bin64
#   OBJECTS_DIR = ../../../../obj/release64/vz/qtservice
#   MOC_DIR = ../../../../obj/release64/vz/qtservice
    DESTDIR = ../lib

2、qtservice.cpp

//  d_ptr->serviceFlags = 0;
d_ptr->serviceFlags = ServiceFlag::Default;

此处0改为ServiceFlag::Default

3、qtservice_unix.cpp

//  void incomingConnection(int socketDescriptor);
    void incomingConnection(qintptr socketDescriptor);

......

//void QtServiceSysPrivate::incomingConnection(int socketDescriptor) {
void QtServiceSysPrivate::incomingConnection(qintptr socketDescriptor) {

此2处的函数参数类型由int改为qintptr,与父类QTcpServer的同名函数声明保持一致

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

muren

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值