2012-03-13 17 views
5

He descargado Eclipse con el complemento para trabajar con C/C++ en Windows. Descargué Cygwin (base y desarrollo principalmente) y funciona bien para una aplicación de hello world.Compilación del proyecto Qt en Eclipse utilizando el compilador Cygwin

Ahora quiero trabajar con Qt. En lugar de descargar el marco, descargué las bibliotecas "Qt libraries 4.8.0 para Windows (minGW 4.4, 354 MB)", ya que la otra opción era la misma para Visual Studio. Sé que esto podría ser parte del problema, ya que parece estar hecho solo para el compilador minGW. Si necesito hacer las cosas de una manera diferente, dígame.

Entonces me reinicia el ordenador, abierto Eclipse, escribió este hola mundo Qt para una nueva aplicación de C++ con Cygwin compilador:

#include <qapplication.h> 
#include <qpushbutton.h> 

using namespace std; 

int main(int argc, char * args[]) 
{ 
    cout << "Here goes!" << endl; 

    QApplication app(argc, args); 
    QPushButton hello("Hello World!", 0); 
    hello.resize(100, 50); 
    app.setMainWidget(&hello); 
    hello.show(); 
    return app.exec(); 
} 

y el compilador no encuentra los archivos .h incluidos. ¿Podría necesitar agregar la ruta Qt \ bin a las variables del entorno?

Tal vez debería mantener el marco Qt, ya que parece un compilador en sí (realmente no sé cómo funciona, ya que ayer pensé que Qt era solo una biblioteca).

Por favor dígame qué estoy haciendo mal (espero que la respuesta a esto no sea "TODO" jeje) y cómo puedo hacer que esto funcione.

+0

¿instaló el complemento para integrar eclipse con qt? – shofee

+0

Lo hice, y también he agregado la carpeta Qt \ bin a PATH en variables de entorno. También instalé MinGW como la mayoría de los tutoriales explican en lugar de usar Cygwin. Nada cambia –

Respuesta

2

El marco QT implementa un metalenguaje en la parte superior de C++ que QT utiliza para crear su marco de gestión de eventos (ranuras y señales qt de google para obtener más información). Los compiladores estándar como G ++ no entienden este metalenguaje, por lo que debe traducirse primero. Puede hacer esto a través de eclipse manteniendo su propio archivo MAKE y ejecutando Meta-Object-Compiler de QT sobre la parte superior del código antes de compilarlo (consulte this page para obtener más información).

Mi enfoque sería utilizar el kit de herramientas QTCreator para hacer su compilación, incluso si no lo usa como su IDE. También considere usar Eclipse y qmake, que si no recuerdo mal, utiliza automáticamente el traductor MOC como parte de su proceso.

¡Buena suerte!

+0

Entonces, debería usar Qt's qmake como mi compilador, y no Cygwin o minGQ. Supongo que eso es lo que hace QTCreator debajo. ¿Está bien? En ese caso, ¿cómo puedo usar qmake como mi compilador de Eclipse? No aparece como una opción cuando selecciono una herramienta de compilación al crear un nuevo proyecto. –

+1

no utiliza ambos. qmake procesa palabras clave específicas de Qt y genera archivos C++ (y un archivo MAKE), luego su compilador usa el archivo MAKE para los archivos. Tu pregunta es buena, pero Qtcreator es mucho más apropiado. – UmNyobe

+1

Tengo que estar de acuerdo con UmNyobe. En teoría, podría configurar eclipse para usar qmake como un sistema de compilación. Sin embargo, probablemente sería mucho más molesto que solo usar QTCreator. Ver [esta publicación] (http://stackoverflow.com/questions/7775398/eclipse-qt-and-c-project-is-it-possible) –

Cuestiones relacionadas