Paket apa yang saya perlukan untuk membangun aplikasi Qt 5 & CMake?

37

Saya mencoba membangun sdrangelove , yang menginginkan Qt 5 dan menggunakan CMake untuk sistem build-nya, di Ubuntu 13.10. Paket apa yang harus saya instal untuk memberikan file yang diminta di sini?

Ada banyak *qt5*paket, dan saya sudah mencoba menginstal yang tampak menjanjikan tanpa efek. Semua diskusi yang saya temukan memiliki hal-hal yang berfungsi dengan baik atau berbicara tentang menulis aturan pembuatan CMake daripada menjalankannya. Saya tidak punya banyak pengalaman dengan organisasi pengemasan Debian / Ubuntu.

CMake Error at CMakeLists.txt:14 (find_package):
  By not providing "FindQt5Core.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Qt5Core", but
  CMake did not find one.

  Could not find a package configuration file provided by "Qt5Core"
  (requested version 5.0) with any of the following names:

    Qt5CoreConfig.cmake
    qt5core-config.cmake

  Add the installation prefix of "Qt5Core" to CMAKE_PREFIX_PATH or set
  "Qt5Core_DIR" to a directory containing one of the above files.  If
  "Qt5Core" provides a separate development package or SDK, be sure it has
  been installed.
Kevin Reid
sumber

Jawaban:

49

Saya baru saja menemukan pertanyaan ini ketika mencoba untuk mengkompilasi KeePassX 2.0 .

Yang membantu saya adalah menggunakan file-apt untuk mencari paket yang hilang:

Misalnya menjalankan ini:

pencarian apt-file Qt5CoreConfig.cmake

Kembali paket-paket berikut:

qtbase5-dev: /usr/lib/x86_64-linux-gnu/cmake/Qt5Core/Qt5CoreConfig.cmake

qtbase5-gles-dev: /usr/lib/x86_64-linux-gnu/cmake/Qt5Core/Qt5CoreConfig.cmake

Paket-paket ini kemudian dapat diinstal dengan apt atau apt-get, misalnya:

sudo apt install qtbase5-dev

Francisco V.
sumber
ref cepat untuk file-apt ( wiki.ubuntu.com/AptFile ). bekerja.
parasrish
21

Dua hal yang saya lewatkan:

  • Setelah pembangunan yang gagal, saya harus menghapus CMakeCache.txt(atau hanya menghapus direktori pembangunan); jika tidak, cmakeakan melaporkan kesalahan yang sama bahkan jika paket yang diperlukan telah diinstal.

  • Paket yang menyediakan *.cmakefile konfigurasi memiliki nama formulir qt*5-dev, misalnya untuk kesalahan dalam pertanyaan saya qtcore5-dev,.

Kevin Reid
sumber
3
Pilihan lain adalah menggunakan file-apt untuk mencari paket yang hilang: apt-file search Qt5CoreConfig.cmake qtbase5-dev: /usr/lib/x86_64-linux-gnu/cmake/Qt5Core/Qt5CoreConfig.cmake qtbase5-gles-dev: /usr/lib/x86_64-linux-gnu/cmake/Qt5Core/Qt5CoreConfig.cmake
Francisco V.
@FranciscoV. Apa yang telah Anda tulis layak menjadi jawaban. Akan lebih mudah untuk membaca contohnya juga.
Kevin Reid
1

Jika Anda mencoba solusi di atas dan tidak berhasil, coba juga apt-get install libqt5opengl5-dev, itu berhasil untuk saya.

Nikos Maniaths
sumber
-1

Juga, mungkin untuk memperbaiki masalah instalasi, dengan menginstal paket langsung melalui rpm (Lihat konten https://centos.pkgs.org/7/epel-x86_64/phonon-qt5-devel-4.8.3-2.el7.x86_64 .rpm.html ).

Dan kemungkinan lain adalah melalui "source build and install": http://www.linuxfromscratch.org/blfs/view/7.9/kde/phonon.html

Ini biasanya karena pemasangan phonon4qt5 (versi 4.8.3) yang tidak tepat melalui "apt-get". Kadang-kadang, ini dapat diselesaikan dengan menginstal "synaptic" untuk lib / bagian paket yang hilang.

parasrish
sumber