Mi IDE de Visual Studio 2010, el uso de Qt add-in para VS, Qt ver. 4.8.1

Me he enfrentado con el problema mientras tratando de para crear el archivo de encabezado precompilado(pch) en mi Qt proyecto.

Mi usuall enfoque para la creación de pch en no Qt proyecto:
1. Crear encabezado;
2. Incluir los archivos que se precompilado en la cabecera;
3. Para cada archivo de origen en el estado del proyecto en sus propiedades si se va a usar pch;
4. Para un archivo de origen en el proyecto de la creación de estados de pch;
5. Incluyen pch en todos los archivos de origen.

Como aquellos falló la acción para Qt proyecto he decidido qué ocurre debido a la pch debe incluirse a todos los archivos generados por el MOC.

He leído el artículo en QtAssistant en los encabezados precompilados y tuvieron los siguientes:
1. Crea el archivo de encabezado;
2. Para todos .archivos cpp en el proyecto, establecer la opción de utilizar pch y para crear
3. Convierte a qmake proyecto generado
4. Corrí qmake -proyecto
5. He modificado generado .pro de archivos, aquí está:

TEMPLATE = app
TARGET = 
DEPENDPATH += . GeneratedFiles
INCLUDEPATH += .
PRECOMPILED_HEADER = StdAfx.h
QT += network

# Input
HEADERS += server.h StdAfx.h
FORMS += server.ui
SOURCES += main.cpp server.cpp StdAfx.h.cpp
RESOURCES += server.qrc
  1. Corrí qmake
  2. abierto .pro archivo y trató de construir y tengo el error:

    Error 2 error C1083: No se puede abrir el archivo de inclusión: ‘StdAfx.h’: No existe el fichero o directorio

Lo que estoy haciendo mal?

¿Crear un StdAfx.h archivo y dentro de ella se incluyen todas las cabeceras que desea ser precompilado?
Sí, por supuesto! He mencionado que he creado .h archivo, pero no dijo que es StdAfx.h

OriginalEl autor spin_eight | 2012-12-04

2 Comentarios

  1. 14

    Crear su archivo de encabezado precompilado y incluyen el deseado encabezados.

    pch.ch:

    //precompiled headers
    
    //add C includes here
    
    #ifdef __cplusplus
    //add C++ includes here
    
    #include <iostream>
    #include <QtGui>
    
    #endif //__cplusplus

    A continuación, en su .pro de archivo:

    CONFIG += precompile_header
    PRECOMPILED_HEADER = pch.hpp
    HEADERS += pch.hpp

    Qmake ahora se establece automáticamente las opciones correctas para el compilador.

    ¿Su respuesta contiene cualquier información nueva que no estaba cubierta en mi pregunta o mi respuesta? ¿Cuál es el propósito de tu respuesta? Quién es ocuparse de ella?
    Su propia respuesta da mal la sintaxis para agregar el archivo de encabezado precompilado para el .pro archivo. El CONFIG opción debe ser precompile_header no el nombre del archivo de encabezado de la misma. También la PRECOMPILED_SOURCE opción no está documentado en ninguna parte. Mi respuesta es correcta en cuanto al docs ir (y siempre funcionó bien para mí).
    Usted está equivocado. En lugar de repetir a mí mismo voy a vincular a la la documentación pertinente, que hace exactamente lo que le he mostrado.
    CONFIG += precompile_header facilita el trabajo en Qt 5.5.0 (OSX)
    Nota: PRECOMPILED_SOURCE es esencialmente un indocumentados construir artefacto para PRECOMPILED_HEADER. El uso de PRECOMPILED_SOURCE (con diferentes valores) es necesario que si que se va a utilizar el mismo PRECOMPILED_HEADER de varios proyectos y se puede construir en paralelo. De lo contrario, cada generación va a reescribir la header.h.cpp archivo, y otras versiones puede tratar de proceso mientras se está en un estado indeterminado. Esto debe ser considerado al objetivo temporal de archivos temporales, pero no es manejado de esa manera por qmake por defecto.

    OriginalEl autor Gordon Freeman

  2. 3

    He encontrado solución.

    La única cosa que necesita hacer en el fin de utilizar el archivo de encabezado precompilado en el proyecto es incluyen
    las instrucciones siguientes .pro de archivo:

    CONFIG += nameOfPrecompiledHeader.h
    PRECOMPILED_HEADER = nameOfPrecompiledHeader.h
    win32-msvc* {
    PRECOMPILED_SOURCE = nameOfFileInWhichCreateOptionWillBeSet.cpp /* other .cpp files will be with use option*/
    }

    después .pro modificación y ejecución de qmake todos .archivos cpp, se va a establecer para el uso de pch y uno para su creación(nameOfFileInWhichCreateOptionWillbeset) y .pch se generará

    Leer más: qt-project.org/doc/qt-4.8/qmake-precompiledheaders.html
    Me gustaría añadir una advertencia de que siguiendo este consejo puede conducir a problemas. El punto clave, creo, es que QMake generará automáticamente su pre-compilado el archivo de origen para usted para Visual Studio y así que usted no tiene que crear uno usted mismo como lo haría uso de vainilla VS.
    Esto no es trabajar en Qt 5.5.0 (OSX). Usando CONFIG += precompile_header como @Gordon Freeman indica que la hace funcionar.
    por favor compare la fecha de la respuesta y la fecha en Qt 5 se ha hecho disponible. Mi respuesta es para Qt 4.8
    Yo sólo soy lo que indica que la solución no está funcionando con la versión actual de Qt, para que otros usuarios no pierda el tiempo tratando.

    OriginalEl autor spin_eight

Dejar respuesta

Please enter your comment!
Please enter your name here