我正在尝试将我的项目从VS2005构建系统移动到Qt Creator。
我们已设置visual studio以将moc用于某些标头并输出具有相同文件名的.moc文件。
例如:
MyClass.hMyClass.moc
当QtCreator运行qmake并运行moc时,它会生成一个cpp文件,文件名前面带有moc _
例如: MyClass.h
moc_MyClass.cpp
我找到了更改其中 moc输出文件的选项,但现在如何更改实际的输出文件名。在我们的visual studio文件中,我们基本上已经
了-o $(InputName).moc
在Qt Creator中有相同的方法吗?我猜它是我放在.pro文件中的东西。
编辑:我在我的问题上取得了一些进展。
我找到了一些有关如何使用自定义编译器和目标here和here的文档。
我已经设置了我的'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构建工具中缺少某些内容。