我有一个不使用qmake的旧版本,但我想添加QUdpSocket并将其与信号和插槽连接。我有一个使用Q_OBJECT的类。如果我希望信号和插槽可用,但我没有使用qmake,该怎么做才能正确处理Q_OBJECT指令。
是否可以将原始myclass.h文件替换为“ $ moc myclass.h”的输出?还是除了原始文件以外的输出?
这可能是新的make指令吗?
m_myclass.h : myclass.h
moc myclass.h > m_myclass.h
答案 0 :(得分:1)
MOC实际上会生成.cpp文件,并将其与项目的其余部分一起编译;因此,它将类似于:
moc_myclass.cpp: myclass.h
moc myclass.h > moc_myclass.cpp
moc_myclass.o: moc_myclass.cpp
g++ ${CFLAGS} moc_myclass.cpp -o moc_myclass.o // whatever
,然后将moc_myclass.o
添加到最终可执行文件的链接步骤。