make没有生成moc文件
No moc file is generated by make
我试图编译一个qt-cpp文件,但没有为Q_OBJECT对象生成moc。我使用的是Maya的qt分布。我的makefile.qt文件如下所示,我正在使用make-f makefile.qt myPlugIn.bundle:进行编译
%.mak : %.pro qtconfig
$(QMAKE) -o - QMAKE_CC=$(CC) QMAKE_CXX=$(C++) $< |
sed -e '/^TARGET.*=/s?=.*$$?= $$(QMAKE_TARGET).$(EXT)?'
-e 's?-framework QtCore?$$(MAYA_LOCATION)/MacOS/QtCore?'
-e 's?-framework QtGui?$$(MAYA_LOCATION)/MacOS/QtGui?'
-e 's?-framework QtOpenGL?$$(MAYA_LOCATION)/MacOS/QtOpenGL?'
-e 's?-framework QtTest?$$(MAYA_LOCATION)/MacOS/QtTest?'
-e 's?-framework QtXml?$$(MAYA_LOCATION)/MacOS/QtXml?'
-e 's?-dynamiclib??' -e 's?-mtune=generic??' >$@
PLUGINS = helixQtCmd.$(EXT)
qtForms.$(EXT)
saveSwatchesCmd.$(EXT)
ifeq ($(QMAKE),)
all:
@echo "Qt not found. Qt-based plug-ins will not be built."
else
all: $(PLUGINS)
endif
# For each plugin, make sure that its individual Makefile is up-to-date then
# use that Makefile to build the plugin.
.PHONY: force
%.$(EXT): force
$(MAKE) -f Makefile.qt $(@:.$(EXT)=.mak)
$(MAKE) -f $(@:.$(EXT)=.mak) $@
clean:
rm -f $(PLUGINS:.$(EXT)=.o) $(PLUGINS:.$(EXT)=.mak)
moc_* ui_* qrc_*
Clean: clean
rm -f $(PLUGINS)
我缺少什么命令来生成这个moc文件?
我最后添加了以下moc行:
%.$(EXT): force
moc $(@:.$(EXT)=.h) -o moc_$(@:.$(EXT)=.cpp)
$(MAKE) -f Makefile.qt $(@:.$(EXT)=.mak)
$(MAKE) -f $(@:.$(EXT)=.mak) $@
相关文章:
- .cpp和.h文件中的模板专用化声明
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 文本文件中的单词链表
- CMake-按正确顺序将项目与C运行时对象文件链接
- 使用新行和不使用新行读取文件
- moc 文件中缺少信号插槽
- 如何让锐化器++忽略Qt moc文件
- 由于QT MOC,将标题包括在标题文件中
- 移动了 QT 项目,重命名文件夹和项目名称,Moc'ing 返回"'-I'之后缺少值"
- 如何使用CMAKE生成MOC _*.CPP文件
- make没有生成moc文件
- QtTest:moc文件将不会生成
- CMake 和 Qt :moc 文件的目录/清理规则
- QT moc.exe生成空文件,错误涉及type_traits
- Visual Studio 每次运行 qmake 时都会重新编译"moc"文件
- Visual Studio 2012 不会生成 moc 文件
- QObject创建moc文件,但仍然得到虚函数表错误
- 编译 moc 文件 Qt 4.5.2 intrin.h 意外类型 "void" Visual Studio 2015
- VS2013中的MOC文件生成
- Qt - moc 文件相关错误