Eclipse,QT和“C ++项目”:有可能吗?

时间:2011-10-15 02:40:44

标签: eclipse qt qmake eclipse-cdt

需要你的帮助:

我想在不创建“Qt gui项目”的情况下使用Eclipse CDT和QT。可能吗?如何将QT库包含到我的C ++项目中,以及如何调用qmake / make来编译程序?这Similar question没有帮助我(

我想使用'C ++项目'而不是'QT Gui项目',因为QT项目中的外部库索引存在问题(this problem

非常感谢你! 尼古拉。

4 个答案:

答案 0 :(得分:8)

我们使用Qt与供应商定制版Eclipse(Momentics)和CDT做了类似的事情。为了使它工作,我们最终使用我们自己的手工生成的Makefile在Eclipse中创建了一个通用的makefile项目。

手工生成的Makefile基本上包含足够的信息来调用相应的.pro文件(“qt.pro”)上的QMake,然后调用生成的Makefile(“qtmake.mk”)。

all: qtmake.mk
    $(MAKE) -f qtmake.mk

qtmake.mk: qt.pro
    qmake -r -o qtmake.mk qt.pro

clean: qtmake.mk
    $(MAKE) -f qtmake.mk clean

install: qtmake.mk
    $(MAKE) -f qtmake.mk install

答案 1 :(得分:3)

这样做很麻烦,我建议你不要这样做。我只在小项目上尝试过。

据我所知,你必须自己编写一个正确的Makefile(或设置CDT来创建它),包括Qt头所需的所有包含路径。然后,您必须链接到您的项目正在使用的所有Qt库。

如果您使用Qt元对象系统,则必须在编译和链接之前运行moc。 moc生成C ++源,您必须链接到其他源。如果你正在使用GNU make,我想你是,似乎可以自动化moc写入Makefile CDT中创建的正确指令。有关详细信息,请阅读:http://doc.qt.io/qt-5/moc.html#writing-make-rules-for-invoking

顺便说一句,您是不是可以使用Qt Creator?

答案 2 :(得分:3)

使用Netbeans非常容易,因为qt已集成到c ++项目中。

但是如果你使用Eclipse,就像我的情况一样,你可以按照这两个步骤(对于linux用户):

  1. 包含带有Qt标头的目录,例如/ usr / include / qt4 / Qt。
  2. 从包含Qt宏的标头生成moc文件,例如Q_OBJECT。这可以在构建过程之前使用项目目录中的以下命令来完成: 找 。 -name“ .h”| sed's /(.)(/)(。*)(。h)/ moc-qt4 -D& -o \ 1 \ 2moc_ \ 3.cpp /'| SH
  3. 你必须定义你想要的。只需运行一次,或者从项目目录中使用以下命令: 找 。 -name“moc _ * .cpp”-exec -rm -f {} \;

    1. 构建您的项目。
    2. 顺便问一下,你试过qt插件吗?

      学家

答案 3 :(得分:1)

以下是jwernerny的makefile的改进版本:

first: all

all clean distclean install uninstall: qtmake.mk
    $(MAKE) -f qtmake.mk $@

qtmake.mk: *.pro
    qmake -r -o qtmake.mk $<

.PHONY: first all clean distclean install uninstall

将其复制到另一个项目时不应进行编辑,实际上相同的规则合并为一个。