私は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つの質問があります。
- FedoraでビルドしてUbuntuで実行するのは合理的ですか?
- 何とか「make」コマンドを使用して、共有ライブラリとQt関連ライブラリの両方をプロジェクトに含めることができますか?
- そうでない場合は、Ubuntuにyumをインストールしてから推奨ライブラリを簡単にインストールできますか?
ベストアンサー1
- FedoraでビルドしてUbuntuで実行するのは合理的ですか?
いいえ、試してはいけません。少なくともそうではありません。あなたはできます時々「姉妹」ディストリビューション間(Debian、Ubuntu、Mint間、CentOS、Fedora、RHELなど)の移行を避けてください。ただし、主要な四半期を超えると、ほぼ常にライブラリのバージョンの不一致などの問題に直面します。
- 何とか「make」コマンドを使用して、共有ライブラリとQt関連ライブラリの両方をプロジェクトに含めることができますか?
実際には、すべての共有ライブラリを手動でコピーして使用できます。唯一の問題は、それらの間の異なるコアである可能性があります。 しかし、私はこれをお勧めしません。 あなたはこれを要求しませんmake
。.so
プロジェクトの実行可能ファイルまたはビルドファイルを見つけて、必要なライブラリを確認してください。ldd
。ディレクトリに入れて設定する必要がありますLD_LIBRARY_PATH走る前。繰り返しますが、これは望ましくありません。
- そうでない場合は、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