Я пытаюсь переместить свой проект из системы сборки VS2005 в Qt Creator.
Мы настроили Visual Studio для использования moc для определенных заголовков и вывода файла .moc с тем же именем.
например:
MyClass.hMyClass.moc
Когда QtCreator запускает qmake и moc запускается, он генерирует файл cpp с именем файла, начинающимся с moc_
например:
MyClass.hmoc_MyClass.cpp
Я нашел варианты для изменения где moc выводит свои файлы, но теперь как изменить фактическое имя выходного файла. В наших файлах Visual Studio у нас есть в основном
-o $(InputName).moc
Есть ли эквивалентный способ сделать это в Qt Creator? Я предполагаю, что это то, что я положил в свой файл .pro.
РЕДАКТИРОВАТЬ:
Я добился определенного прогресса в своей проблеме.
Я нашел некоторую документацию о том, как иметь собственные компиляторы и цели Вот а также Вот.
Я настроил инструмент ‘new moc’ для вывода файлов moc в тот же каталог, что и заголовок, и назвал их как файлы .moc.
new_moc.output = ${QMAKE_FILE_BASE}.moc
new_moc.commands = moc ${QMAKE_FILE_NAME} -o
${QMAKE_FILE_IN_PATH}/${QMAKE_FILE_OUT}
new_moc.input = NEW_HEADERS
new_moc_echo.commands = @echo Moccing $$new_moc.target
QMAKE_EXTRA_COMPILERS += new_moc
QMAKE_EXTRA_TARGETS += new_moc_echo
Он создает файл moc в нужном месте, однако теперь я получаю ошибку компоновщика для моего проекта.
MyFile.moc : fatal error LNK1107: invalid or corrupt file: cannot read at 0xA02
Я предполагаю, что чего-то не хватает в моем инструменте для сборки moc.
Задача ещё не решена.
Других решений пока нет …