一、环境依赖

1.Git

2.Visual Studio Community 2019

3.Qt 5.x

4.Python 3.9

5.CMake

6.Windows Openssl

7.NSIS

8.Nuget

二、源码下载

1.clone源码

git clone https://github.com/uglide/RedisDesktopManager.git

2.进入RedisDesktopManager目录,切换到发布tag

git checkout -b 2022.1_release 2022.1

3.下载依赖仓库代码

git submodule update --init --recursive

4.适配windows

#进入3rdparty/qredisclient/3rdparty/hiredis目录git apply ../hiredis-win.patch

5.下载nuget依赖

#在3rdparty/目录下
nuget install zlib-msvc14-x64 -Version 1.2.11.7795

三、修改代码

1.修改源代码版本号

#源文件src\resp.pro!defined(VERSION, var) {VERSION=2022.1.0
}

2.修改发布包版本号

#源文件build\windows\installer\installer.nsi
#在头部增加!define VERSION "2022.1.0"

3.修改openssl依赖

#源文件3rdparty\3rdparty.pri的18行OPENSSL_LIB_PATH = {{OpenSsl安装目录}}\lib\VC

4.修改python依赖

#源文件3rdparty\pyotherside.pri的3~9行
PY_VERSION="39"
PY_WIN_VERSION="3.9.x" //根据实际子版本号修改
PY_LIB_SUFFIX="3.9"QMAKE_LIBS += -L{{Python安装目录}}\Python$${PY_WIN_VERSION}\libs -lpython$${PY_VERSION}
INCLUDEPATH += {{Python安装目录}}\Python$${PY_WIN_VERSION}\include\

四、编译源代码

1.编译brotli模块

#3rdparty\brotli目录下
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./installed .
cmake --build . --config Release

2.编译snappy模块

#3rdparty\snappy目录下
cmake .
cmake --build . --config Release

3.编译lz4模块

#3rdparty\lz4\build\cmake目录下
cmake -DLZ4_BUNDLED_MODE=ON  .
cmake --build . --config Release

4.编译zstd模块

#3rdparty\zstd\build\cmake目录下
cmake -DCMAKE_BUILD_TYPE=Release .
cmake --build . --config Release

5.Qt编译

使用QtCreator打开src/resp.pro

配置项目为Release、去除debug信息

Ctrl+B构建项目

成功后在bin\windows\release生成resp.exe文件

五、打包发布

1.拷贝编译exe

将bin\windows\release\resp.exe拷贝到build\windows\installer\resources目录下

2.处理Qt依赖

在build\windows\installer\resources目录下执行windeployqt命令

"{{Qt安装目录}}\{{Qt版本号}}\msvc2019_64\bin\windeployqt.exe" --no-angle --no-opengl-sw --no-compiler-runtime --no-translations --release --force --qmldir {{RESP源代码目录}}\src\qml resp.exe

3.处理python依赖

拷贝python-3.9.x-embed-amd64发行包中的python39.dll、python39.zip到build\windows\installer\resources目录

4.使用NSIS打包

使用NSIS打开build\windows\installer\installer.nsi生成安装包

最后在build\windows\installer目录生成resp-2022.1.0.exe文件

感谢

感谢您的阅读,最后附上打包好的共享链接:

链接:https://pan.baidu.com/s/1hAKKlU8_mcVHYCBZqmfatg
提取码:ybkj

RedisDesktopManager源码编译windows版(基于2022.1版本)相关推荐

  1. ThingsBoard 3.3.1源码编译-windows版

    ThingsBoard 3.3.1源码编译-windows版 前期环境准备 环境版本尽量保持一致: 建议先把文章看完再操作,不要直接看一步操作一步! 编译过程要有耐心!不要看到执行到哪一步很久不动了, ...

  2. Grafana源码编译--Windows

    Grafana源码编译–Windows 准备工作 1.系统:Windows 2.软件: (1)GO:尽量使用跟Grafana源码版本一样的Go版本,通过Github上https://github.co ...

  3. 07-PDI(Kettle)源码编译8.2.0.0.R版本

    文章目录 07-PDI(Kettle)源码编译8.2.0.0.R版本 1.安装PDI8.2.0.0.R的parent工程到本地 1.1配置Maven的settings.xml文件 1.2安装PDI源码 ...

  4. Open vSwitch(OVS)源码编译Ubuntu16.04,Linux内核版本4.15

    Open vSwitch(OVS)源码编译Ubuntu16.04,Linux内核版本4.15 关于Open vSwitch(OVS)版本与Linux内核的关系,参考这篇文章:Open vSwitch( ...

  5. openssh升级_Redhat 6.5源码编译升级openssh到7.8版本

    1.检验升级OpenSSH依赖的相关组件 [root@web02 /]# rpm -qa | grep gcc [root@web02 /]# rpm -qa | grep zlib-devel [r ...

  6. Firefox源码编译(Windows)

    1.系统要求 内存:最低4GB,推荐8GB+. 磁盘空间:至少40GB的可用磁盘空间. 操作系统:Windows10. 2.系统准备 下载安装Visual Studio 2019的构建工具,选择以下项 ...

  7. 基于onnxruntime的C++版本CPU/GPU源码编译

    基于onnxruntime的C++版本CPU/GPU源码编译 提示:基于onnxruntime的CPU/GPU源码编译,C++版本 文章目录 基于onnxruntime的C++版本CPU/GPU源码编 ...

  8. 代码工程 /Qt /5.9.3源码编译

    文章目录 概述 小试牛刀 安装Perl configure 执行编译 执行安装 再试牛刀 CMD导致的杯具 正式使用新环境 Qt 安装版(exe文件) 目录基本说明 一个小插曲 重新来过 编译环境 P ...

  9. Spring源码编译测试

    Spring源码编译(以5.3.22版本为例) 参考作者:程序员七哥 https://www.bilibili.com/read/cv11704879/ 出处:bilibili 本项目环境版本介绍: ...

最新文章

  1. R语言使用pie函数可视化饼图(pie chart)、为饼图添加百分比信息、使用plotrix包可视化3D饼图、使用plotrix包可视化扇形饼图
  2. 产品经理必了解的3个app技术框架
  3. 华为软件编程规范和范例 函数、过程
  4. vc++创建异性窗体(2)
  5. win10下用docker安装onlyoffice服务
  6. hdu 3177贪心
  7. 以太坊执行miner.start返回null终极解决方案
  8. kali2022.2无线网络WiFi破解详解
  9. KYLO的Java并发编程知识总结
  10. 选择中医 - 虚寒性体质的人吃什么好(萝卜、生姜、地瓜、大蒜)
  11. 用WORD批量制作工作证件
  12. 深入分析 Uniswap V3 流动性供应的数学原理
  13. Python多线程多进程应用场景
  14. SMB2协议特性之oplock与lease(下
  15. 人工智能正通过这9种方式重塑人力资源行业
  16. 【x86架构】SMM
  17. CNCC2020_胡振江_从芯片定制到语言定制:程序设计语言的系统化定制及其支撑环境
  18. 【react-native】编写原生模块给JS进行交互,一键加群的实现。
  19. Python识别验证码----网易易盾推理拼图
  20. 十九款web漏洞扫描工具

热门文章

  1. IData及DataQ使用心得
  2. Android应用卸载广播监听
  3. 怎样提问?(上)-Leo读提问的智慧(2)
  4. php 实现倒计时-将秒数转换为时间(天、小时、分、秒)
  5. 4K显示屏Win10下软件字体太小解决方法
  6. android标题栏添加按钮_如何从iPhone或Android设备访问PC
  7. Java面试官:兄弟,你确定double精度比float低吗?
  8. android tab 纵向,GitHub - luonzke/VerticalTabLayout: 垂直纵向的TabLayout、轻松创建纵向导航...
  9. Unity 3d网游画面的3d效果
  10. 高赞的6款办公神器,好用到飞起