cmake не генерирует moc-файлы Qt с использованием QT4_automoc

Я пытаюсь скомпилировать небольшой пример базовой компоновки тестового приложения в Qt, используя компилятор Visual Studio 2010 в Windows 7.

Я использую cmake (2.8.4) и nmake для создания примера, но он не может генерировать moc-файлы. Это приводит к ошибке компиляции:

Не удается открыть включаемый файл: 'dialog.moc': такого файла или каталога нет.

Правила в моем CMakeLists.txt, которые должны включать генерацию файлов moc:

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

Любые идеи, почему не создаются файлы moc или советы по решению этой проблемы?

Спасибо!

1 ответ

Соберите все заголовки, которые вам нужны, и передайте эти заголовки в 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})
Другие вопросы по тегам