GNU/Linux >> Linux Esercitazione >  >> Linux

CMAKE_PREFIX_PATH non aiuta CMake a trovare Qt5

Ho installato i seguenti pacchetti mancanti:

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

Ora non è necessario allegare alcun tipo di prefisso:

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)

Nuovo output:

:~/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

Gli errori ora sono spariti.

Grazie a:
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


Per macOS esportare la seguente variabile nel terminale.

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

Potrebbe esserci un'altra versione, controlla quale hai e cambia l'ultimo componente del percorso di conseguenza.

Emetti la riconfigurazione della build

cmake ../

CMake messaggio di errore relativo a find_package non riuscito e impostando CMAKE_PREFIX_PATH variabile

Aggiungi il prefisso di installazione di "Qt5" a CMAKE_PREFIX_PATH

è in qualche modo fuorviante. Si parla solo di "prefisso di installazione", ma questa installazione continua a richiedere contenere Qt5Config.cmake o qt5-config.cmake file all'interno per essere rilevabili da find_package .

Ma il messaggio

Se "Qt5" fornisce un pacchetto di sviluppo o SDK separato, assicurati che sia stato installato.

è chiaro:

È necessario installare un pacchetto di sviluppo che contenga i file di configurazione richiesti.

Quanto sopra è applicabile solo a CONFIG modalità di find_package , quando lo script "Trova" non è fornito né da CMake né dal progetto CMake che utilizza questo comando.


Linux
  1. Trovare l'ultimo elemento di una riga usando Grep?

  2. logname Esempi di comandi in Linux

  3. compilatore incrociato ldd

  4. Come creare un file solo se non esiste?

  5. Trovare il contenuto di un file in un altro file

13 modi in cui puoi aiutare Linux

LD_LIBRARY_PATH non sembra funzionare

Errore durante la compilazione di libgcc xgcc

Cmake su Windows non aggiunge percorsi di libreria condivisi (funziona su Linux)

cmake --version punta a /usr/bin/cmake mentre which cmake punta a /usr/local/bin

Aiutaci a interpretare OOM-Killer