2015-04-09 4 views
0

Я пытаюсь скомпилировать файл qt cpp, но для объектов Q_OBJECT не создается moc. Я использую майя в распределении qt. Мой makefile.qt файл выглядит так, и я компиляция с маркам -f makefile.qt myPlugIn.bundle:Файл moc не генерируется make

%.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??' >[email protected] 

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) [email protected] 

clean: 
    rm -f $(PLUGINS:.$(EXT)=.o) $(PLUGINS:.$(EXT)=.mak) \ 
     moc_* ui_* qrc_* 

Clean: clean 
    rm -f $(PLUGINS) 

Какой команду мне не хватает, чтобы создать этот файл MOC?

ответ

0

я, наконец, добавили следующую строку: MOC

%.$(EXT): force 

    moc $(@:.$(EXT)=.h) -o moc_$(@:.$(EXT)=.cpp) 
    $(MAKE) -f Makefile.qt $(@:.$(EXT)=.mak) 
    $(MAKE) -f $(@:.$(EXT)=.mak) [email protected] 
Смежные вопросы