다양한 Linux 기반 운영 체제 내장

다양한 Linux 기반 운영 체제 내장

나는 C, qt 및 cmake에 대한 경험이 없습니다.

저는 이 프로젝트를 구축하는 데 지난 10시간을 보냈습니다. https://github.com/moonlight-stream/moonlight-qt

내 주요 목표는 직접 빌드하고 우분투에서 실행하는 것입니다.

추가 정보에는 빌드하기 위해 설치해야 하는 모든 라이브러리가 설명되어 있습니다.

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" 명령으로는 설치할 수 없다는 것을 발견했습니다. 우분투에서 라이브러리를 사용해 보았지만 (예를 들어) "libssl-dev"를 설치한 후 cmake가 최신 Fedora를 설치한 다음 yum을 사용하여 라이브러리를 설치하고 프로젝트를 성공적으로 빌드했습니다.

그 후 바이너리를 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을 설치한 다음 권장 라이브러리를 쉽게 설치할 수 있을까요?

이것은 훨씬 더 나쁜 생각입니다. 이 두 시스템이 어떻게 싸우고 운영 체제를 망칠 수 있는지 생각하고 싶지 않습니다.


최선의 선택: 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

관련 정보