さまざまなLinuxベースのオペレーティングシステムを内蔵

さまざまなLinuxベースのオペレーティングシステムを内蔵

私は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」コマンドではインストールできませんでした。 Ubuntuでライブラリを試してみましたが、(例えば) "libssl-dev"をインストールした後、cmakeは最新のFedoraをインストールし、yumを使用してライブラリをインストールし、プロジェクトを正常に構築しました。

その後、バイナリをUbuntuシステムにコピーしましたが、実行できませんでした。私のUbuntuには共有ライブラリがたくさんありません。私のUbuntuには、Fedoraでビルドするときに使用するよりも古いバージョンのqtがあります。

github [リリース]タブからダウンロードしたコンパイルされたUbuntuのバージョンは正常に動作します。

問題を解決する方法がわからないので、3つの質問があります。

  1. FedoraでビルドしてUbuntuで実行するのは合理的ですか?
  2. 何とか「make」コマンドを使用して、共有ライブラリとQt関連ライブラリの両方をプロジェクトに含めることができますか?
  3. そうでない場合は、Ubuntuにyumをインストールしてから推奨ライブラリを簡単にインストールできますか?

ベストアンサー1

  1. FedoraでビルドしてUbuntuで実行するのは合理的ですか?

いいえ、試してはいけません。少なくともそうではありません。あなたはできます時々「姉妹」ディストリビューション間(Debian、Ubuntu、Mint間、CentOS、Fedora、RHELなど)の移行を避けてください。ただし、主要な四半期を超えると、ほぼ常にライブラリのバージョンの不一致などの問題に直面します。

  1. 何とか「make」コマンドを使用して、共有ライブラリとQt関連ライブラリの両方をプロジェクトに含めることができますか?

実際には、すべての共有ライブラリを手動でコピーして使用できます。唯一の問題は、それらの間の異なるコアである可能性があります。 しかし、私はこれをお勧めしません。 あなたはこれを要求しませんmake.soプロジェクトの実行可能ファイルまたはビルドファイルを見つけて、必要なライブラリを確認してください。ldd。ディレクトリに入れて設定する必要がありますLD_LIBRARY_PATH走る前。繰り返しますが、これは望ましくありません。

  1. そうでない場合は、Ubuntuにyumをインストールしてから推奨ライブラリを簡単にインストールできますか?

これははるかに悪い考えです。これら2つのシステムがどのように戦い、オペレーティングシステムを台無しにすることができるのか考えたくありません。


最良の選択:Ubuntuベースの構築

ビルドできない場合は、githubに問題を投稿してください。

これらのパッケージはUbuntuにある可能性が最も高いですが、UbuntuとFedoraではパッケージ名が異なるため、パッケージ名を調べることもできます。例えばlibsslの開発

成功する可能性のある名前の最小部分から検索してみてください。たとえば、次のようになります。

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 JVM

おすすめ記事