valid para not kits kit instalar found descargar creator c++ qt debugging visual-studio-2017 qt-creator

c++ - para - Depuración en QtCreator utilizando el compilador MSVC2017



qt creator kits not found windows (1)

Lo que discuto aquí es hacer que QtCreator trabaje con el compilador de Visual Studio 2017 (MSVC2017), ¡incluso la depuración! Una instalación predeterminada de MSVC2017 y Qt 5.10 le permitirá compilar y ejecutar código, pero no obtendrá soporte de depuración de forma predeterminada. Mostraré los pasos necesarios para instalar todo (incluido el soporte de depuración) para el siguiente sistema de referencia:

Sistema de referencia

  • Windows 7 SP1 x64 (funciona exactamente igual con Win10, también)
  • Visual Studio 2017 (versión 15.5.1)
  • Qt 5.10.0
  • Qt Creator 4.5.0 (MSVC 2015, 64 bits)
  • Herramientas de depuración para Windows (CDB.exe), que NO se distribuyen con Visual Studio 2017
    • a través de Windows 10 SDK
  • Orientación a aplicaciones de escritorio de Windows de 64 bits.

He probado estos pasos tanto en Windows 10 como en Windows 7 (x64) y parece estar funcionando. Tenga en cuenta que la versión de QtCreator que viene incluida con el instalador de Qt es la versión de 32 bits, y no funcionará de manera inmediata si está tratando de realizar la depuración utilizando MSVC. Esto está documentado, pero no paso a paso (consulte QtCreator Depuración de Windows y Motores de depuración QtCreator ), y no todo está en un solo lugar, por lo que voy a proporcionar instrucciones simples aquí sobre cómo hacer que funcionen las cosas para el sistema de referencia. Lo describo arriba.

Prerrequisitos

  • Windows 7 x64, o Windows 10
  • Visual Studio 2017 (probado con la versión 15.5.1)

Suponiendo que tiene Win7 / Win10 y MSVC2017 instalados, ¡comencemos!

Descargar Qt

  • Descargue el archivo qt-opensource-windows-x86-5.10.0.exe del Archivo oficial de lanzamientos de Qt
  • Instale con la opción "msvc2017 de 64 bits" marcada.
    • todas las demás casillas de verificación no son necesarias para la configuración que se describe aquí

Instale el SDK de Windows para Windows 10 - https://developer.microsoft.com/en-us/windows/downloads/sdk-archive

  • seleccione "Herramientas de depuración para Windows" y desmarque todo lo demás

  • El instalador web descargará el componente seleccionado y creará una carpeta llamada "Kits de Windows".
  • Instala estos dos archivos (la versión x86 es opcional):

    • Kits de Windows / 10 / WindowsSDK / Installers / X64 Debuggers And Tools-x64_en-us.msi
    • Kits de Windows / 10 / WindowsSDK / Installers / X86 Debuggers And Tools-x86_en-us.msi

Instale el instalador STAND-ALONE de 64 bits para QtCreator

NOTA: si instala QtCreator DESPUÉS de instalar las herramientas de depuración de Windows, QtCreator detectará automáticamente la ubicación de los depuradores, lo que le ahorrará la molestia al crear los kits. Si ya ha instalado QtCreator, no se preocupe, la configuración de los kits en QtCreator se muestra a continuación.

  • Descargar "Qt Creator 4.5.0 para Windows de 64 bits"

  • esta versión parece tener la opción de seleccionar "Compatibilidad con el depurador de CDB" (no se encuentra al instalar el paquete completo de Qt que tiene Qt Creator incluido)

Configurar Kits en QtCreator

En el lenguaje o terminología de QtCreator, un "Kit" es una combinación de depurador + compilador + versión Qt + otros. (En este sentido, la palabra "Kit" no significa lo mismo que lo hace para "Kits de Windows" cuando instalamos el depurador anterior; esta es una colisión de nombres desafortunada.) Configure un "Kit QtCreator" seleccionando Herramientas - > Opciones -> Construir y ejecutar. Me gusta comenzar en la pestaña del extremo derecho y trabajar hacia la izquierda, terminando en "Kits". El motivo de esto es que todas las pestañas (1,2,3) a continuación deben configurarse para crear un kit completo.

Configurar depuradores en QtCreator

  • Establezca la ruta en C:/Program Files (x86)/Windows Kits/10/Debuggers/x64/cdb.exe y C:/Program Files (x86)/Windows Kits/10/Debuggers/x64/cdb.exe un nombre como "Window Kit 10 cdb x64".

  • Configurar el compilador. Asegúrese de que "Microsoft Visual C ++ Compiler 15.0 (amd64)" esté en la lista. Tenga en cuenta que QtCreator detectará automáticamente estas ubicaciones si ha instalado elementos en las rutas predeterminadas. Agregue la ruta al compilador si no está en la lista.

  • Tenga en cuenta que para Visual Studio 2017 x64 bit, desea la versión "amd64", que es el compilador de 64 bits. En caso de que se esté preguntando por qué hay tantos compiladores en la lista, son "compiladores cruzados". Eso significa que se dirigen a diferentes arquitecturas, por ejemplo, el "x86_amd64" es un proceso de 32 bits que crea una aplicación de 64 bits; usaría esta versión si estuviera desarrollando un código de 64 bits en una computadora de 32 bits (de ahí el término compilación cruzada). Dado que este tutorial asume que está ejecutando un sistema operativo de 64 bits, use la versión amd64. (El compilador cruzado "x86_amd64" también generará un código de 64 bits.) Cuando vi por primera vez la enorme lista de selecciones de compiladores en QtCreator, no sabía cuál elegir. ¡Ahora tú también lo sabes! Consulte Al compilar código x64, ¿cuál es la diferencia entre "x86_amd64" y "amd64"? .

Ahora configura el Kit

  1. Haga clic en Agregar .
  2. Nombre - Dé el nombre del kit; Esta será la configuración que usará cuando compile su aplicación.
  3. Compilador : seleccione "Microsoft Visual C ++ Compiler 15.0 (amd64)" para C y C ++.
  4. Depurador : seleccione "Windows Kit 10 cdb x64" que configuramos en la pestaña "Depuradores"
  5. Versión de Qt : seleccione "Qt 5.10.0 (msvc2017_64). Es importante compilar con el mismo bit-ness que las bibliotecas de Qt con las que se vinculará.
  6. Haga clic en Aplicar .

Verificar trabajos de depuración.

Divirtámonos un poco y escribamos un programa de 64 bits, y luego lo depuramos. Una buena prueba es asignar mucha memoria (los procesos típicos de Windows de 32 bits están limitados a 2 GB, consulte ¿Cuánta memoria puede un acceso de proceso de 32 bits en un sistema operativo de 64 bits? ). Asignar, digamos, 32 GB de RAM debería ser un indicador positivo de que estamos compilando una aplicación de 64 bits. Aquí hay una captura de pantalla de QtCreator que depura un programa de prueba de Windows de 64 bits:

Tenga en cuenta que estoy usando el compilador de 64 bits MSVC2017 y el depurador CDB.exe mencionado anteriormente.

#include <QCoreApplication> #include <cassert> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); int intSize = sizeof(int); assert(intSize == 4); int intPtrSize = sizeof(int*); assert(intPtrSize == 8); constexpr size_t giga = 1000 * 1000 * 1000; size_t _32gigs = 32 * giga / intSize; int* gigaChunk = new int[_32gigs]; assert(gigaChunk != nullptr); return a.exec(); }

He instalado Qt, pero obtengo errores al intentar depurar el código C ++ desde QtCreator. Estoy usando Visual Studio 2017 en Windows, y parece que el depurador que QtCreator necesita (cdb.exe) no está instalado. ¿Cómo puedo configurar la depuración para que funcione con el código de 64 bits dentro de QtCreator cuando uso el compilador MSVC2017?

(Estoy respondiendo a mi propia pregunta de acuerdo con https://stackoverflow.com/help/self-answer . Publique una mejor respuesta y cambiaré la respuesta aceptada por la suya)