gratis full for descargar creator c++ windows visual-c++ cmake qt5

c++ - full - Cómo encontrar el módulo Qt5 CMake en Windows



qt full (5)

Añadir esto resuelve el problema.

set (CMAKE_PREFIX_PATH "C://Qt//Qt5.0.1//5.0.1//msvc2010//")

Edité el primer post.

Estoy tratando de hacer una aplicación Qt5 muy básica usando CMake en Windows. Usé la documentación de Qt5 para usar CMake , y mi archivo main.cpp solo contiene una función main .

Mi CMakeLists.txt es exactamente:

cmake_minimum_required(VERSION 2.8.9) project(testproject)

Solución EDIT

set (CMAKE_PREFIX_PATH "C://Qt//Qt5.0.1//5.0.1//msvc2010//")

finalizar EDIT

# Find includes in corresponding build directories set(CMAKE_INCLUDE_CURRENT_DIR ON) # Instruct CMake to run moc automatically when needed. set(CMAKE_AUTOMOC ON) # Find the QtWidgets library find_package(Qt5Widgets) # Tell CMake to create the helloworld executable add_executable(helloworld hello.cpp) # Use the Widgets module from Qt 5. qt5_use_modules(helloworld Widgets)

Cuando en MSysGit bash, escribo `$ cmake -G" Visual Studio 11 "

Obtengo esta salida:

$ cmake -G"Visual Studio 11" -- The C compiler identification is MSVC 17.0.60204.1 -- The CXX compiler identification is MSVC 17.0.60204.1 -- Check for working C compiler using: Visual Studio 11 -- Check for working C compiler using: Visual Studio 11 -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler using: Visual Studio 11 -- Check for working CXX compiler using: Visual Studio 11 -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done CMake Warning at CMakeLists.txt:11 (find_package): By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "Qt5Widgets", but CMake did not find one. Could not find a package configuration file provided by "Qt5Widgets" with any of the following names: Qt5WidgetsConfig.cmake qt5widgets-config.cmake Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH or set "Qt5Widgets_DIR" to a directory containing one of the above files. If "Qt5Widgets" provides a separate development package or SDK, be sure it has been installed. CMake Error at CMakeLists.txt:17 (qt5_use_modules): Unknown CMake command "qt5_use_modules". -- Configuring incomplete, errors occurred!

¿Tienes alguna idea?


Aquí hay una técnica que aprovecha la capacidad de cmake de leer el registro para forzar a un valor de registro a ubicar el Qt5Config.cmake del Qt5Config.cmake .

Intenta usar la versión más alta de Qt5 disponible haciendo una ordenación inversa en los diferentes nombres de carpeta "5.x" que se encuentran dentro (por ejemplo, C:/Qt/ ).

Esto también podría colocarse dentro de un módulo, por ejemplo, QtLocator.cmake .

SET(QT_MISSING True) # msvc only; mingw will need different logic IF(MSVC) # look for user-registry pointing to qtcreator GET_FILENAME_COMPONENT(QT_BIN [HKEY_CURRENT_USER//Software//Classes//Applications//QtProject.QtCreator.cpp//shell//Open//Command] PATH) # get root path so we can search for 5.3, 5.4, 5.5, etc STRING(REPLACE "/Tools" ";" QT_BIN "${QT_BIN}") LIST(GET QT_BIN 0 QT_BIN) FILE(GLOB QT_VERSIONS "${QT_BIN}/5.*") LIST(SORT QT_VERSIONS) # assume the latest version will be last alphabetically LIST(REVERSE QT_VERSIONS) LIST(GET QT_VERSIONS 0 QT_VERSION) # fix any double slashes which seem to be common STRING(REPLACE "//" "/" QT_VERSION "${QT_VERSION}") # do some math trickery to guess folder # - qt uses (e.g.) "msvc2012" # - cmake uses (e.g.) "1800" # - see also https://cmake.org/cmake/help/v3.0/variable/MSVC_VERSION.html MATH(EXPR QT_MSVC "2000 + (${MSVC_VERSION} - 600) / 100") # check for 64-bit os # may need to be removed for older compilers as it wasn''t always offered IF(CMAKE_SYSTEM_PROCESSOR MATCHES 64) SET(QT_MSVC "${QT_MSVC}_64") ENDIF() SET(QT_PATH "${QT_VERSION}/msvc${QT_MSVC}") SET(QT_MISSING False) ENDIF() # use Qt_DIR approach so you can find Qt after cmake has been invoked IF(NOT QT_MISSING) MESSAGE("-- Qt found: ${QT_PATH}") SET(Qt5_DIR "${QT_PATH}/lib/cmake/Qt5/") SET(Qt5Test_DIR "${QT_PATH}/lib/cmake/Qt5Test") ENDIF()

Y entonces..

# finally, use Qt5 + COMPONENTS technique, compatible with Qt_DIR FIND_PACKAGE(Qt5 COMPONENTS Core Gui Widgets Xml REQUIRED)


Debería establecer la variable de entorno CMAKE_PREFIX_PATH en su lugar o usar cmake-gui para establecer la ruta de los paquetes Qt 5.



Una forma es abrir CMakeLists.txt en Qt Creator. Qt Creator admite CMake de forma nativa y siempre sabe dónde está Qt.