Eclipse集成Qt

5
我下载了Qt和Eclipse以及C++ CDT,我发现Qt自带Qt IDE(Qt Creator),可以用来开发Qt应用程序,这很好,但是我想在Eclipse中使用C++代码与Qt一起开发。有没有方法可以做到这一点?因为我只想使用Qt来设计我的用户界面,并使用其他库的代码来完成其他任务。
我尝试包含头文件(usr/include/qt4),但是当我编译程序时仍然遇到问题,例如(找不到qgui.h)。请帮助我像Netbeans一样将Qt集成到Eclipse中。
编辑:
这是我的输出。
13:48:48 **** Incremental Build of configuration Debug for project test ****
Info: Internal Builder is used for build
g++ -o test src/test.o -lQtCore 
src/test.o: In function `main':
/media/sda2/workspaceeclipse/test/Debug/../src/test.cpp:6: undefined reference to `QApplication::QApplication(int&, char**, int)'
/media/sda2/workspaceeclipse/test/Debug/../src/test.cpp:8: undefined reference to `QPushButton::QPushButton(QString const&, QWidget*)'
/media/sda2/workspaceeclipse/test/Debug/../src/test.cpp:12: undefined reference to `QApplication::exec()'
/media/sda2/workspaceeclipse/test/Debug/../src/test.cpp:12: undefined reference to `QPushButton::~QPushButton()'
/media/sda2/workspaceeclipse/test/Debug/../src/test.cpp:12: undefined reference to `QApplication::~QApplication()'
/media/sda2/workspaceeclipse/test/Debug/../src/test.cpp:8: undefined reference to `QPushButton::~QPushButton()'
/media/sda2/workspaceeclipse/test/Debug/../src/test.cpp:12: undefined reference to `QPushButton::~QPushButton()'
/media/sda2/workspaceeclipse/test/Debug/../src/test.cpp:12: undefined reference to `QApplication::~QApplication()'
src/test.o: In function `QWidget::resize(int, int)':
/usr/include/qt4/QtGui/qwidget.h:996: undefined reference to `QWidget::resize(QSize const&)'
collect2: error: ld returned 1 exit status

13:48:49 Build Finished (took 1s.609ms)

@cmannett85:我不这么认为 - 你可以很好地将Eclipse运行为Qt IDE,而无需QT Eclipse插件。这需要一些设置工作,我认为这就是OP卡住的地方。 - Andreas Fester
@Andreas 我认为在Eclipse中没有Designer或Linguist的本地等效工具。 - cmannett85
@cmannett85 是的 - 但是你可以将相应的文件类型分配给外部应用程序,这样你就可以从项目树中启动它们。 - Andreas Fester
1个回答

13

我需要在“项目属性=> C/C++常规=>路径和符号”中调整以下设置:

在“包含”选项卡上,针对GNU C++语言,请添加以下包含路径:

  • /usr/include/qt4
  • /usr/include/qt4/QtCore
  • /usr/include/qt4/QtGui

在“符号”选项卡上,针对GNU C++语言,请定义以下符号并赋值为“1”(可能与您的设置略有不同,但至少需要QT_CC_GNU、QT_CORE_LIB和QT_GUI_LIB):

  • QT_CC_GNU
  • QT_CORE_LIB
  • QT_GUI_LIB
  • QT_NO_DEBUG
  • QT_SHARED
  • QT_TESTLIB_LIB
  • QT_WEBKIT

使用这些设置,源码索引器将正常工作。除此之外,Eclipse只需调用“make”来构建。


谢谢回复,但我收到了这个错误信息:make: *** [sdg] Error 1,以及 undefined reference to QApplication::~QApplication()' 和 undefined reference to QApplication::exec()',最后一个错误是 undefined reference to `QApplication::QApplication(int&, char**, int)'。 - user1344201
你是在使用qmake还是Eclipse的内置构建系统?你使用哪个工具链? - Andreas Fester
我正在使用内置的构建器,目前没有错误,但当我运行它时,会出现“启动失败,找不到二进制文件”的错误。 - user1344201
1
您可以在“运行配置”中设置可执行文件的启动方式(在“运行配置”对话框中,选择用于启动应用程序的C/C++配置,在“主”选项卡中验证“C/C++应用程序”路径名称)。 - Andreas Fester

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接