如何使用CMake生成moc_*.cpp文件

How to generate moc_*.cpp files using CMake

假设我有一个名为 animals.cpp 的 C++ 文件。如何使用 CMake 生成 moc 文件 (moc_animals.cpp)?

有多种方法。如果您使用的 CMAKE 版本高于 2.8.6,那么您可以使用 AUTOMOC,它会自动为您完成所有操作。

这里有个不错的tutorial

正如@spectras 所指出的,这假设尊重他们的命名约定。如果您想使用您的特定命名,您当然可以通过简单调用 qt4_wrap_cppqt5_wrap_cpp 来使用手动机制。如果您绑定到旧的 CMAKE 版本,这也是您应该做的。

在你的Qt安装的bin目录下有moc命令。

/Users/name/Qt 5.7/......./bin

如果你用 execute_process() 或 add_custom_command() 添加它,你应该能够做你想做的事。你也可以使用 AUTOMOC