如何自动化Qt moc?

时间:2009-10-13 00:48:44

标签: c++ qt qmake moc

我必须从Qt命令提示符运行以下命令:qmake -project然后make这会给我带有Moc文件的调试文件夹。
奇怪的是,这是我的电脑生成moc_.cpp文件的唯一方式。

那么如何自动执行这些命令的任务,以便我不必再次使用这些命令?

2 个答案:

答案 0 :(得分:7)

您不应多次运行qmake -project-project选项旨在为您提供模板项目文件供您编辑。相当于你在IDE中所做的事情,每次你想要构建时都会创建一个“新项目”。拥有初始项目后,您应该手动编辑它,在有新文件时添加文件等。如果某些头文件发生更改,生成的Makefile会注意到它并在其上调用moc以自动更新moc _ * .cpp文件。所以:

  1. 开始处理项目时运行qmake -project
  2. 如果要生成Makefile,请运行qmake
  3. 如果要构建项目,请运行make

答案 1 :(得分:0)

我猜你有两个选择。

  1. 从父make进程调用qmake并执行多级构建。 (“递归制作”。)

  2. 直接从makefile中的规则运行元对象编译器

  3. 如果是第二个,using the meta-object编译器上的这个页面可能有帮助。