Как сгенерировать файлы moc_*.cpp с помощью CMake

Предположим, у меня есть файл C++ с именем animals.cpp. Как сгенерировать moc-файл (moc_animals.cpp) с помощью CMake?


person Amani    schedule 01.09.2017    source источник


Ответы (2)


Есть несколько способов. если вы используете версию CMAKE выше 2.8.6, вы можете использовать AUTOMOC который должен делать все автоматически за вас.

Здесь есть хороший учебник .

Как указывает @spectras, это предполагает соблюдение их соглашения об именах. Если вы хотите использовать свое конкретное имя, вы, конечно, можете использовать ручной механизм, просто вызвав qt4_wrap_cpp или qt5_wrap_cpp. Это также то, что вы должны сделать, если вы привязаны к более старым версиям CMAKE.

person Stefano    schedule 01.09.2017
comment
Это правильный путь, если следовать номенклатуре, которая с ним связана. Если по какой-то причине вы этого не сделаете, вы все равно можете прибегнуть к ручному qt4_wrap_cpp или qt5_wrap_cpp. - person spectras; 01.09.2017
comment
да ... тогда я добавлю ваш комментарий к своему ответу ... спасибо! - person Stefano; 01.09.2017

В каталоге bin вашей установки Qt есть команда moc.

/Пользователи/имя/Qt 5.7/...../bin

Если вы добавите его с помощью execute_process() или add_custom_command(), вы сможете делать то, что собираетесь делать. Вы также можете использовать AUTOMOC.

person Paltoquet    schedule 01.09.2017