[App Sharing] 一个新的原生c++编写的bilibili客户端,wiliwili
Tofloor
poster avatar
kero990
deepin
2022-12-05 19:46
Author

wiliwili是一个c++原生编写的bilibili客户端,本来是为Nintendo Switch编写的,也可运行在任何pc平台上,并且是开源的,所以可以移植到多数架构下。相比较官方那个electron的客户端,运行效率显然不可同日而语,程序大小也要小得多。界面模仿了官方客户端,但为了适配switch,确定返回等按钮都在下面。

另一个重点是,支持硬解。

项目地址:https://github.com/xfangfang/wiliwili

项目采用 Github-Actions 进行自动编译,需要登录github才能下载。可能还需要项目中的资源文件夹,并不是deb安装包

运行库需要libglwf3 > 3.3 ,专业版用户需要先升级此运行库。

截图_喴哩喴哩_20221205105746.png

截图_喴哩喴哩_20221205105738.png

截图_喴哩喴哩_20221205105725.png

因为是开源的,所以编译了一个arm64版本,本来想传到统信商店去,但统信专业版库里的libglfw2是3.2版本,无法通过apt升级,统信的打包标准又不允许文件放置在/usr/lib,所以没办法。

放一个链接吧,arm64的小伙伴想要的可以拿去玩,不过项目还在不断更新中。

https://kero990.lanzoum.com/iG5Ug0hu0teb

x86-x64就自己去github下载吧,我就不费事打包了

Reply Favorite View the author
All Replies
2 / 2
To page
海天鹰
deepin
2022-12-08 07:52
#21

github 打不开,来 gitlink 不需要登录。

Reply View the author
kero990
deepin
2022-12-08 17:31
#22
130******15

这里是 arrch64 和 x86-64 的flatpak安装包,直接安装即可,已经把所有都打包好了:https://github.com/xfangfang/DIY/actions/workflows/wiliwili_flatpak.yml

如果不知道如何下载可以看:https://xfangfang.github.io/036

如果不会安装flatpak格式的安装包可以看:https://flatpak.org/setup/Deepin

我注意到大家安装的应用下面的图标都是不对的,按照项目中所说,大家可以手动下载字体文件到配置目录:https://github.com/xfangfang/wiliwili/discussions/38


ps 如果楼主想要上传到闪电去,可以试试把系统中的glfw卸载,然后重新静态编译glfw并安装到系统路径,之后再打包就好了,glfw编译很简单也没有其他依赖。

但是统信商店的所有文件都必须放置在opt目录下,不允许在/usr/lib放置运行库。

因为项目不是我写的,我也不会c++,所以不知道要把库静态放置在程序同目录要怎么改。

deepin的商店我就不知道了。x64对商店其实没啥依赖我觉得。

Reply View the author
Comments
130******15
2022-12-08 22:04
cmake项目如果要修改默认的安装目录的话,可以在cmake期间添加 -DCMAKE_INSTALL_PREFIX= 来设置安装目录。 glfw那个的意思是,如果动态链接的话是会去每个安装软件的人的电脑上找glfw的,默认安装的都是动态库。如果卸载动态库,然后编译并安装了glfw的静态库,那么依赖glfw的程序就会在链接期间将glfw直接链接好,也就没有外部依赖了。
130******15
deepin
2022-12-08 22:07
#23
kero990

但是统信商店的所有文件都必须放置在opt目录下,不允许在/usr/lib放置运行库。

因为项目不是我写的,我也不会c++,所以不知道要把库静态放置在程序同目录要怎么改。

deepin的商店我就不知道了。x64对商店其实没啥依赖我觉得。

cmake项目如果要修改默认的安装目录的话,可以在cmake期间添加 -DCMAKE_INSTALL_PREFIX= 来设置安装目录。

(但是打包deb不涉及安装目录这个问题的)

glfw那个的意思是,如果动态链接的话是会去每个安装软件的人的电脑上找glfw的,默认安装的都是动态库。如果卸载动态库,然后编译并安装静态库,依赖glfw的程序就会在链接期间将glfw链接到自身,这样就没有外部依赖了。

(点评显示的不全,重新发了一遍)

Reply View the author
WangZhongyun
deepin
2022-12-09 02:59
#24

github难上,旁观

Reply View the author
kero990
deepin
2022-12-09 21:06
#25
130******15

cmake项目如果要修改默认的安装目录的话,可以在cmake期间添加 -DCMAKE_INSTALL_PREFIX= 来设置安装目录。

(但是打包deb不涉及安装目录这个问题的)

glfw那个的意思是,如果动态链接的话是会去每个安装软件的人的电脑上找glfw的,默认安装的都是动态库。如果卸载动态库,然后编译并安装静态库,依赖glfw的程序就会在链接期间将glfw链接到自身,这样就没有外部依赖了。

(点评显示的不全,重新发了一遍)

我是想搞成静态库的,不过我不知道作者怎么写的,我也不知道能不能改怎么改。

Reply View the author
130******15
deepin
2022-12-10 00:14
#26
kero990

我是想搞成静态库的,不过我不知道作者怎么写的,我也不知道能不能改怎么改。

c或者c++的程序链接的时候一般是系统上有动态库就用动态库,有静态库就用静态库,作者不会对这方面做限制的。glfw或者他依赖的mpv都可以搞成静态的,但是mpv依赖的东西太多了需要都搞成静态的比较麻烦。

看出来你好像确实是不太了解c,那是有点不太好做,其实就是在编译这个软件之前卸载已有的glfw,然后本地手动编译安装一下glfw的静态库,和这个软件是怎么做的一点关系都没有,保证系统中glfw是静态库就行。

(感觉需要补充一下,静态库编译链接的时候直接就链接在程序内部了,无论是用静态库依赖还是用动态库都是一样的,区别就是动态库没有链接在程序里,所以发给别人需要别人的环境里也有对应的动态库)

Reply View the author
Feng Yu
deepin
2022-12-10 18:48
#27

没有flatpak环境,希望有个AppImage的

Reply View the author
蜻蜓特派员
deepin
2024-09-24 13:28
#28
Reply View the author
2 / 2
To page