需要你的帮助:
我想在不创建“Qt gui项目”的情况下使用Eclipse CDT和QT。可能吗?如何将QT库包含到我的C ++项目中,以及如何调用qmake / make来编译程序?这Similar question没有帮助我(
我想使用'C ++项目'而不是'QT Gui项目',因为QT项目中的外部库索引存在问题(this problem)
非常感谢你! 尼古拉。
答案 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用户):
你必须定义你想要的。只需运行一次,或者从项目目录中使用以下命令: 找 。 -name“moc _ * .cpp”-exec -rm -f {} \;
顺便问一下,你试过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
将其复制到另一个项目时不应进行编辑,实际上相同的规则合并为一个。