在不同的基于Linux的操作系统中构建

时间:2019-03-14 18:21:53

标签: ubuntu build cmake fedora qmake

我没有C,qt和cmake的经验。

我花了最后10个小时尝试构建此项目: https://github.com/moonlight-stream/moonlight-qt

可能的主要目标是自己构建并在Ubuntu上运行。

自述文件描述了要构建,我需要安装所有这些库:

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”命令安装。我安装了最新的Fedora,然后使用yum安装了libs并成功构建了项目。

此后,我将二进制文件复制到了我的Ubuntu系统,但是无法运行它。我的Ubuntu上缺少很多共享库。同样,我的Ubuntu的qt版本比Fedora上的版本要旧。

从github的“版本”选项卡下载的Ubuntu编译版本运行良好。

由于我不知道该如何解决我的问题,所以我有3个问题:

  1. 在Fedora下构建并在Ubuntu下运行是否有意义?
  2. 我可以以某种方式强制“ make”命令包含所有共享的命令吗? 库和与qt相关的库进行开发?
  3. 如果没有,也许我可以在Ubuntu上安装yum,然后就可以轻松地安装推荐的libs?

1 个答案:

答案 0 :(得分:0)

您需要找到Ubuntu的等效库。这些依赖关系适用于RHEL风格的Linux(例如Fedora,CentOS和RedHat)。例如:

RHEL package   Ubuntu package

openssl-devel  libssl-dev
ffmpeg-devel   libavcodec-dev
qt5-devel      qtdeclarative5-dev
opus-devel     libopus-dev

只需在Ubuntu中搜索“ PACKAGE_NAME ”即可找到等效的软件包名称。

参考文献