GNU/Linux >> LINUX-Kenntnisse >  >> Linux

CMAKE_PREFIX_PATH hilft CMake nicht beim Auffinden von Qt5

Ich habe die folgenden fehlenden Pakete installiert:

sudo apt-get install qtbase5-dev
sudo apt-get install qtdeclarative5-dev

Das Anhängen irgendeines Präfixes ist jetzt nicht erforderlich:

CMakeList:

    :~/junk/qtquick_hello_cmake$ cat CMakeLists.txt
    cmake_minimum_required(VERSION 2.8.12)
    
    project(qtquick_hello_cmake)
    
    set(CMAKE_INCLUDE_CURRENT_DIR ON)
    set(CMAKE_AUTOMOC ON)
    set(CMAKE_AUTORCC ON)
    
    find_package(Qt5 COMPONENTS Quick Core REQUIRED)
    
    qt5_add_resources(RESOURCES qml.qrc)
    
    add_executable(${PROJECT_NAME} "main.cpp" "qml.qrc")
    
    qt5_use_modules(${PROJECT_NAME} Quick Core)
    
    target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Quick)

Neue Ausgabe:

:~/junk/qtquick_hello_cmake$ ls
build  CMakeLists.txt  main.cpp  main.qml  qml.qrc

:~/junk/qtquick_hello_cmake$ cd build/
:~/junk/qtquick_hello_cmake/build$ rm -rf *

:~/junk/qtquick_hello_cmake/build$ cmake ../
-- The C compiler identification is GNU 4.8.4
-- The CXX compiler identification is GNU 4.8.4
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/.../junk/qtquick_hello_cmake/build

Fehler sind jetzt weg.

Dank an:
https://answers.ros.org/question/236324/could-not-find-a-package-configuration-file-provided-by-qt5widgets/
https://askubuntu.com/questions/508503/whats-the-development-package-for-qt5-in-14-04


Für macOS exportieren Sie die folgende Variable in das Terminal.

export CMAKE_PREFIX_PATH=/usr/local/Cellar/qt5/5.15.1/  

Möglicherweise gibt es eine andere Version, überprüfen Sie, welche Sie haben, und ändern Sie die letzte Pfadkomponente entsprechend.

Geben Sie die Build-Neukonfiguration aus

cmake ../

CMake-Fehlermeldung über fehlgeschlagenen find_package und Festlegen von CMAKE_PREFIX_PATH Variable

Fügen Sie das Installationspräfix "Qt5" zu CMAKE_PREFIX_PATH

hinzu

ist irgendwie irreführend. Es spricht nur von "Installationspräfix", aber diese Installation ist immer noch require Qt5Config.cmake enthalten oder qt5-config.cmake enthaltene Dateien, damit sie von find_package gefunden werden können .

Aber die Nachricht

Wenn "Qt5" ein separates Entwicklungspaket oder SDK bereitstellt, vergewissern Sie sich, dass es installiert wurde.

ist klar:

Man muss ein Entwicklungspaket installieren, das die erforderlichen Konfigurationsdateien enthält.

Alles Obige gilt nur für CONFIG Modus von find_package , wenn das „Find“-Skript weder von CMake noch von einem CMake-Projekt bereitgestellt wird, das diesen Befehl verwendet.


Linux
  1. Fähigkeiten des WLAN-Treibers/-Geräts finden?

  2. logname-Befehlsbeispiele in Linux

  3. Betriebssystemspezifische Anweisungen in CMAKE:Gewusst wie?

  4. Importieren eines CMake-Projekts in Eclipse CDT

  5. LD_LIBRARY_PATH scheint nicht zu funktionieren

13 Möglichkeiten, wie Sie Linux helfen können

Cross-Compiler ldd

Suche nach eindeutigen Werten in einer Datendatei

Wie erstelle ich eine Datei nur, wenn sie nicht existiert?

Fehler beim Kompilieren von libgcc xgcc

Cmake unter Windows fügt keine gemeinsam genutzten Bibliothekspfade hinzu (funktioniert unter Linux)