【问题标题】:Compiling Qt project into Eclipse using Cygwin compiler使用 Cygwin 编译器将 Qt 项目编译到 Eclipse 中
【发布时间】:2012-03-13 16:20:19
【问题描述】:

我已经下载了带有插件的 Eclipse,以便在 Windows 上使用 C/C++。我下载了 Cygwin(主要是 base 和 devel),并且适用于 hello world 应用程序。

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

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

#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 只是一个库)。

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

【问题讨论】:

  • 安装了eclipse与qt集成插件了吗?
  • 我做到了,并且我还在环境变量中将 Qt\bin 文件夹添加到 PATH 中。正如大多数教程所解释的那样,还安装了 MinGW,而不是使用 Cygwin。没有任何变化

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


【解决方案1】:

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

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

祝你好运!

【讨论】:

  • 所以,我应该使用 Qt 的 qmake 作为我的编译器,而不是 Cygwin 或 minGQ。我想这就是 QTCreator 在下面所做的。那正确吗?在这种情况下,如何使用 qmake 作为 Eclipse 中的编译器?创建新项目时选择编译器工具时,它没有作为选项列出。
  • 不,你两个都用。 qmake 处理 Qt 特定的关键字并生成 C++ 文件(和 makefile),然后您的编译器使用文件的 makefile。你的问题很好,但 Qtcreator 更适合恕我直言。
  • 我必须同意 UmNyobe。理论上,您可以设置 eclipse 以使用 qmake 作为构建系统。但是,它可能比仅使用 QTCreator 更麻烦。请看this post
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-23
相关资源
最近更新 更多