使用Cygwin编译器将Qt项目编译到Eclipse中

时间:2012-03-13 08:06:01

标签: c++ eclipse qt cygwin eclipse-cdt

我已经使用插件下载了Eclipse,以便在Windows上使用C / C ++。我下载了Cygwin(主要是基础和开发),可以用于hello world应用程序。

现在我想和Qt一起工作。我没有下载框架,而是下载了库“Qt libraries 4.8.0 for Windows(minGW 4.4,354 MB)”,因为另一个选项与Visual Studio相同。我知道这可能是问题的一部分,因为它看起来只适用于minGW编译器。如果我需要以不同的方式做事,请告诉我们。

然后我重新启动计算机,打开Eclipse,用Cygwin编译器为新的C ++应用程序编写了这个Qt hello世界:

#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();
}

并且编译器找不到包含的.h文件。我需要将Qt \ bin路径添加到环境变量吗?

也许我应该坚持使用Qt框架,因为它看起来像编译器本身(我真的不知道它是如何工作的,因为昨天我认为Qt只是一个库)。

请告诉我我做错了什么(我希望回答这不是“一切”嘿嘿)我怎样才能做到这一点。

1 个答案:

答案 0 :(得分:2)

QT框架在C ++之上实现了一种元语言,QT使用它来创建其事件处理框架(谷歌qt插槽和信号以获取更多信息)。诸如G ++之类的标准编译器不理解这种元语言,因此必须首先进行翻译。您可以通过维护自己的makefile并在编译之前在代码顶部运行QT的Meta-Object-Compiler来通过eclipse执行此操作(有关详细信息,请参阅this page)。

我的方法是使用QTCreator工具包进行编译,即使您不将它用作IDE。还要考虑使用Eclipse和qmake,如果我没记错的话,会自动使用MOC翻译器作为其过程的一部分。

祝你好运!