cmake不使用QT4_automoc生成Qt moc文件

时间:2011-04-28 18:14:59

标签: qt4 cmake moc

我正在尝试使用Windows 7上的Visual Studio 2010编译器在Qt中编译一个小测试应用程序basic layout example

我正在使用cmake(2.8.4)和nmake来构建示例,但它无法生成moc文件。 这会导致编译错误:

Cannot open include file: 'dialog.moc': No such file or directory.

我的CMakeLists.txt中应该启用moc文件生成的规则是:

set(all_SOURCES main.cpp dialog.cpp)
QT4_AUTOMOC(${all_SOURCES})

为什么没有生成moc文件的任何想法或解决此问题的提示?

谢谢!

1 个答案:

答案 0 :(得分:2)

收集您需要的所有标题,将这些标题传递给qt4_wrap_cpp,然后将这些文件添加到您的库/可执行文件中。

FIND_PACKAGE(Qt4 REQUIRED)
include(${QT_USE_FILE})
set (FOO_MOC_HEADERS foo.h)
qt4_wrap_cpp (FOO_MOC_OUTFILES ${FOO_MOC_HEADERS})
add_library (foo SHARED ${FOO_SOURCE_FILES} ${FOO_MOC_OUTFILES})