我对C,qt和cmake没有经验。
我花了10个小时试图构建这个项目:https://github.com/moonlight-stream/moonlight-qt
可能的主要目标是自己构建它,并在Ubuntu上运行它。
README描述了为了构建这些库,我需要安装所有这些库:
openssl-devel qt5-devel SDL2-devel ffmpeg-devel qt5-qtquickcontrols2-devel libva-devel libvdpau-devel opus-devel pulseaudio-libs-devel alsa-lib-devel SDL2_ttf-devel我试图在Ubuntu上构建它,但是我发现,这些库不能通过简单的"apt“命令来安装。我尝试过使用ubuntu的库,但是(例如)在安装"libssl-dev“之后,cmake安装了最新的Fedora,然后使用yum安装了libs并成功地构建了项目。
之后,我将二进制文件复制到我的Ubuntu系统中,但我无法运行它。我的Ubuntu上缺少了很多共享库。此外,我的Ubuntu的qt版本比在Fedora上构建的更老。
Ubuntu从github "releases“选项卡下载的编译版本运行良好。
因为我不知道如何解决我的问题,我有三个问题:
发布于 2019-03-16 02:17:40
不,不要试。至少不是那样的。有时,您可以在“姐妹”发行版之间迁移(例如:在Debian、Ubuntu和Mint之间,或者在CentOS、Fedora和RHEL之间)。但是,当在主要的分叉之间交叉时,您几乎总是会遇到您所见过的问题,例如不匹配的库版本。
实际上,可以手动复制所有共享库并使用这些库。唯一的挑战可能是他们之间的不同内核。但我不推荐这个。你不会让make这么做的。找到该项目构建的可执行文件或.so,并检查使用ldd需要哪些库。在运行之前,您需要将它们放在目录中并设置LD_图书馆_路径。同样,这是不可取的。
这是个更糟糕的主意。我不想想到这两个系统会如何对抗和破坏你的操作系统。
上工作
如果它真的不会在github上建立一个问题。
这些包很可能存在于Ubuntu,但是您可能需要研究这些包的名称,因为与Fedora相比,它们在Ubuntu下是不同的。例如,libssl-dev。
从搜索名字的最小部分开始.例:
apt-cache search libssl
cl-plus-ssl - Common Lisp interface to OpenSSL
dcmtk - OFFIS DICOM toolkit command line utilities
libdcmtk-dev - OFFIS DICOM toolkit development libraries and headers
libdcmtk14 - OFFIS DICOM toolkit runtime libraries
dlang-openssl - D version of the C headers for openssl
libssl-ocaml - OCaml bindings for OpenSSL (runtime)
libssl-ocaml-dev - OCaml bindings for OpenSSL
* libssl-dev - Secure Sockets Layer toolkit - development files
libssl-doc - Secure Sockets Layer toolkit - development documentation
libssl1.1 - Secure Sockets Layer toolkit - shared libraries
perl-openssl-defaults - version compatibility baseline for Perl OpenSSL packages
r-cran-openssl - GNU R toolkit for encryption, signatures and certificates based on OpenSSL
libssl-utils-clojure - library for SSL certificate management on the JVMhttps://unix.stackexchange.com/questions/506595
复制相似问题