Visual Studio 2012 не создает файлы moc

Я использую Qt V5.1.0 и Qt-Addin 1.2.2 для Visual Studio 2012.

У меня есть два проекта в решении под названием «Мозг» и «Графический интерфейс». «Мозг» определяется как служебный проект, а «графический интерфейс» — как проект приложения. Я добавил «Мозг» в качестве ссылки на «GUI».

Когда я использую один класс проекта «Мозг» в файле cpp «GUI». Я получаю сообщения об ошибках связи, говорящие о наличии неразрешенных внешних символов. Более того, в папке «Сгенерированные файлы» нет moc-файлов.

Я попытался очистить раствор, но он не работает. Я также пытался удалить папку «Сгенерированные файлы» в проводнике и визуальной студии, но безрезультатно. Я пытался найти решение с помощью Google, но одно сработало для меня.

Не могли бы вы мне помочь?


person Tristan Djahel    schedule 13.09.2013    source источник
comment
Используете ли вы правило сборки для создания moc-файлов? (Я не знаком с Qt-Addin, поэтому не знаю, позаботится ли он о создании moc-файлов.)   -  person Exa    schedule 13.09.2013
comment
Надстройка должна это делать (создавать правила сборки для rcc, moc ..). Хотя, поскольку я использую CMake для создания своих проектов Visual Studio вместо функций надстройки, я не могу не отлаживать надстройку.   -  person drescherjm    schedule 13.09.2013
comment
эта ссылка помогла мне vperi.com/2012/04/23 /automatic-mocing-in-visual-studio   -  person fantastory    schedule 27.11.2014


Ответы (1)


вам нужно запустить moc как часть сборки и включить результирующий исходный код С++ в виде файлов, которые необходимо скомпилировать

person ratchet freak    schedule 13.09.2013
comment
Спасибо за ответ, но я решил проблему сам. Это не проблема moc. Мне просто нужно было изменить настройки Brain с Utility Project на Static Library (.lib), и теперь это сработало! Moc генерируются, и проблем с связыванием нет. Еще раз спасибо! - person Tristan Djahel; 13.09.2013