为什么 我在 qtcreator1.3.1 下 不能 产生 MOC文件 呢 ? 在 makefile 文件中 有 相关的 命令 ,但 却 compile时报错 。
/Documents/GigEVision_Client/CCallbackHandler.h:50: error: cannot declare field ‘gige::CCallbackHandler::m_handler’ to be of abstract type ‘gige::CPrivateHandler’
把错位置 源码 :
class CCallbackHandler : public QObject
{
friend class CPrivateHandler;
Q_OBJECT
public:
typedef QObject BaseClass;
CCallbackHandler(QObject* parent);
gige::IGigEVisionAPI::ICallbackEvent* GetHandler();
signals:
void Connect(gige::IDevice* device);
void Disconnect(gige::IDevice* device);
void Log(gige::IDevice* device, EventMessage eMessage);
private:
CPrivateHandler m_handler;
};
源码 中 有 信号 槽 调用,Q_OBJEC宏 ,可能 涉及到 moc ,但 在 makefile 中有 :
compiler_moc_header_make_all: moc_CCallbackHandler.cpp moc_CGigEVisionClient.cpp moc_CImageBox.cpp moc_CImageDlg.cpp moc_CPropertiesDlg.cpp moc_CRegistersModel.cpp moc_CSetDeviceIpDlg.cpp moc_CSnapThread.cpp
compiler_moc_header_clean:
-$(DEL_FILE) moc_CCallbackHandler.cpp moc_CGigEVisionClient.cpp moc_CImageBox.cpp moc_CImageDlg.cpp moc_CPropertiesDlg.cpp moc_CRegistersModel.cpp moc_CSetDeviceIpDlg.cpp moc_CSnapThread.cpp
moc_CCallbackHandler.cpp: CCallbackHandler.h
/usr/local/Trolltech/Qt-4.6.2/bin/moc $(DEFINES) $(INCPATH) CCallbackHandler.h -o moc_CCallbackHandler.cpp
moc的 命令 。
有人 知道 这是 怎么 回事 吗??