WPS C++ 二次开发 Demo运行

news2025/6/19 18:02:35

1.官网二次开发地址:https://open.wps.cn/docs/client/wpsLoad

 2.Demo源码下载:

        经过测试上述链接找不到demo源码,可通过git命令下载:

git clone https://code.aliyun.com/zouyingfeng/wps.git -b dev

        图中cpp文件夹即为c++demo源码;

3.环境搭建:

        3.1.Linux操作系统,可安装对应虚拟机,本人安装centos7虚拟机进行实验;

        3.2.qt4或qt5安装,本人使用qt5.9.4;

        3.3.WPS Office 2019 For Linux下载和安装:

        

        这里注意,Ubuntu系统选择Deb下载,Centos选择Rpm格式;

        到rpm文件目录下打开终端运行:

rpm -ivh wps-office-11.1.0.11691-1.x86_64.rpm

        安装过程可能会报错提示缺少一个库,提示缺少libXss.so.1文件,执行如下命令查看提供方

repoquery --nvr --whatprovides libXss.so.1
sudo yum install libXScrnSaver-1.2.2-6.1.el7

        然后重新执行rpm安装命令,安装成功,安装成功后默认安装到/opt目录下,桌面生成了wps图标,但是点击没反应,到安装目录下用命令行执行,启动不起来,提示GLIBC版本不对,因为wps编译时使用的glibc_2.18,而本地最高只到2.17.

        可通过如下命令查看版本:

strings /lib64/libc.so.6 | grep GLIBC

         如果版本不够2.18需要下载源码编译:(centos7用户这里千万不要编译到系统盘下,否则会导致虚拟机重启后无法进入桌面系统!!!最好的方法是编译到/home下某个目录,然后把编译好的库放到/opt下的wps目录下,切记切记!!!!)

wget http://mirrors.ustc.edu.cn/gnu/libc/glibc-2.18.tar.gz

tar zxvf glibc-2.18.tar.gz 

cd glibc-2.18/

mkdir build

cd build/

export LD_LIBRARY_PATH=../

sudo ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin

sudo make -j4

sudo make install

         此时运行wps可启动软件,但是打开文档时提示缺少部分字体:

        先下载,后解压,然后拷贝到/usr/share/fonts下:

        链接: https://pan.baidu.com/s/1mNXRWg0fomuigEEvoEOWKw 提取码: 77d6 

        重新打开软件可正常使用。

4.demo运行:

        使用qtcreator打开cpp目录下的pro工程文件:

        构建工程后启动程序:

 

         至此,demo运行起来了,后续可基于此进行自定义开发!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/411604.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

<Linux>进程概念

文章目录一、什么是进程1.进程概念2.进程描述 – PCB3.task_struct内容分类二、进程的基本操作1.查看进程2.结束进程3.通过系统调用获取进程标示符4.通过系统调用创建子进程(fork)三、进程状态1.普遍的操作系统状态2.Linux操作系统状态四、两种特殊的进程1.僵尸进程2.孤儿进程五…

sql语法:事务的”那些事“

Mysql版本:8.0.26 可视化客户端:sql yog 目录前言一、事务是什么?二、事务的特点三、如何提交事务和回滚事务?3.1 手动提交3.2 自动提交模式下开启事务3.3 注意事项四、事务的隔离级别4.1 模拟事务安全问题4.1.1 脏读问题模拟如下&#xff1…

11.Java面向对象----多态

Java面向对象—多态 面向对象简称 OO(Object Oriented),20 世纪 80 年代以后,有了面向对象分析(OOA)、 面向对象设计(OOD)、面向对象程序设计(OOP)等新的系统…

Nacos介绍与安装

文章目录一、什么是Nacos(摘抄自官网介绍)二、Nacos安装2.1 下载安装包2.2 解压2.3 配置端口2.4.启动2.5.访问一、什么是Nacos(摘抄自官网介绍) Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发…

【模型复现】densenet,增加残差结构连接,复用特征图的角度降低了计算量还提升了精度,transition_block压缩特征图

相比ResNet,DenseNet[1608.06993] Densely Connected Convolutional Networks (arxiv.org)提出了一个更激进的密集连接机制:即互相连接所有的层,具体来说就是每个层都会接受其前面所有层作为其额外的输入。下图为DenseNet的密集连接机制。可以…

聚观早报|Uber分拆旗下网约车服务; 字节跳动首度超越腾讯和阿里

今日要闻:Uber分拆旗下网约车服务Careem;字节跳动首度超越腾讯和阿里;搜狗追上GPT-4需要3年左右;苹果首款头戴装置将延至6月量产;全面注册制新规今起正式落地Uber分拆旗下网约车服务Careem Uber 旗下网约车服务 Careem…

【CSS】绝对定位元素设置 水平 / 垂直 居中 ( 绝对定位元素居中设置 - 先偏移 50% 再回退子元素一半尺寸 | 绝对定位居中设置 )

文章目录一、问题提出二、绝对定位 居中设置1、设置固定尺寸2、先偏移50%再回退固定值三、绝对定位元素 水平 / 垂直 居中一、问题提出 绝对定位 不能通过 设置 margin: auto; 样式的方式 , 设置盒子模型水平居中 ; 相对定位 的 盒子模型 , 并没有脱离标准流限制 , 仍然可以使…

notion插件:为你的工作流带来新生

在本文中,我们将介绍Notion的几款有助于提高生产力的插件。这些插件将加强Notion的功能,并为你的工作流程带来更多的便利。 我们特地为你准备了这本漫游指南:收录各种工具、信息和资源,携你共同探索浩瀚美丽的互联网海洋。 snackt…

23种设计模式-抽象工厂模式

抽象工厂模式 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责创…

数据结构与算法六 树

一 二叉树入门 之前我们实现的符号表中,不难看出,符号表的增删查操作,随着元素个数N的增多,其耗时也是线性增多的,时间复杂度都是O(n),为了提高运算效率,接下来我们学习树这种数据结构。 1.1 树的基本定义…

流程引擎基础知识

流程引擎基础知识流程部署流程取消部署流程发起流程取回流程作废流程委托流程流转常用流程表介绍备注流程部署 1.后台直接导入bpmn /**流程部署源代码*/public void deploy() {ProcessEngine processEngine ProcessEngines.getDefaultProcessEngine();RepositoryService repo…

如何使用ChatGPT在1天内完成毕业论文

如何使用ChatGPT在1天内完成毕业论文 几天前,亲眼见证了到一位同学花了1天时间用ChatGPT完成了他的毕业论文,世道要变,要学会使用黑科技才能混的下去。废话到此结束,下面说明这么用AI生成自己的论文。 使用工具: 1. P…

Maven(一):什么是Maven?

Maven(一):什么是Maven?前言一、为什么要学习Maven?1、Maven 作为依赖管理工具1.1 jar 包的规模1.2 jar 包的来源1.3 jar 包之间的依赖关系2、Maven 作为构建管理工具2.1 你没有注意过的构建2.2 脱离 IDE 环境仍需构建…

【ERNIE Bot】百度 | 文心一言初体验

文章目录一、前言二、文心一言介绍三、申请体验⌈文心一言⌋四、⌈文心一言⌋初体验1️⃣聊天对话能力2️⃣文案创作能力3️⃣文字转语音能力✨4️⃣AI绘画能力✨5️⃣数理推理能力6️⃣代码生成能力7️⃣使用技巧说明五、总结一、前言 ​ 最近有关人工智能的热门话题冲上热榜…

亚马逊云科技十七年持续进化,解锁Amazon S3的七项新发布

17年前的3月14日,亚马逊云科技推出了一项“非常简单的”对象存储服务(Amazon Simple Storage Service)。该服务允许开发人员创建、列出和删除私有存储空间(称为存储桶)、上传和下载文件以及管理其访问权限。当时&#…

【C#+Unity小白】制作一款简单的2D平台游戏,PONG(弹球)游戏

素材均来自于Brackeys 各位可以到Youtube支持他,他的视频底下有他个人的网站,各位可以从他拿素材。 像我这样的菜鸡,在我看codeMonkey零零散散的制作视频而不知所措时,Brackeys出现了,他耐心教导,他真的是…

【2023最新】超详细图文保姆级教程:App开发新手入门(1)

1. 关于 『YonBuilder移动开发』 PS: 本段内容主要目的是去除官方语音描述,用通俗的语言来简单介绍一下『YonBuilder移动开发』,方便新手开发者判断是否适合自己上手学习。 简介: YonBuilder移动开发平台(官网:https://develope…

2023年14界蓝桥杯省赛“日期统计”题解

问题描述 小蓝现在有一个长度为 100 的数组,数组中的每个元素的值都在 0 到 9 的范围之内。数组中的元素从左至右如下所示: 5 6 8 6 9 1 6 1 2 4 9 1 9 8 2 3 6 4 7 7 5 9 5 0 3 8 7 5 8 1 5 8 6 1 8 3 0 3 7 9 2 7 0 5 8 8 5 7 0 9 9 1 9 4 4 6 8 6 3 …

Python 小型项目大全 41~45

四十一、幸运星 原文:http://inventwithpython.com/bigbookpython/project41.html 在这个碰运气游戏中,你掷骰子来收集星星。你掷得越多,你能得到的星星就越多,但是如果你得到三个头骨,你就失去了一切!这款…

【网络编程】UDP

✨个人主页:bit me👇 ✨当前专栏:Java EE初阶👇 目 录🏯一. UDP数据报套接字编程🏰二. 写一个 UDP 版本的 回显服务器-客户端.(echo server)🏭1. 服务器:&…