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

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

Я использую 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 Ответ

2 голосов
/ 28 апреля 2011

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