【发布时间】:2012-07-07 02:28:08
【问题描述】:
我在 Xcode 中创建了与 Qt 框架链接的 C++ 项目。 hello world 程序运行良好。当我添加从 QObject 派生的类并添加 Q_OBJCET 宏时,出现链接错误。
班级是
MyObject.h
#ifndef MyObject_h
#define MyObject_h
#include <QtCore/QObject>
class MyOBject : public QObject
{
Q_OBJECT
public:
MyOBject();
};
#endif
我的对象.cpp
#include "MyObject.h"
MyOBject::MyOBject()
{
}
我知道我应该先使用 moc 编译 MyObject.h 并将生成的 moc_MyObject.cpp 添加到 Xcode 项目中。
在 Microsoft Visual Studio 中,我可以将此头文件配置为使用 moc 自定义工具进行编译。并将生成的 cpp 文件添加到 VS 项目中。
但这是 Xcode。我的问题是:在 Xcode 中是否有等效的方法来编译包含 Q_OBJECT 宏的头文件?
【问题讨论】:
-
不应该 - 必须。您必须在 C++ 预处理器和编译器之前运行
moc。您的整个帖子可以简化为:“如何在 XCode 中添加 moc 作为构建步骤?”大概如果你遇到这个问题,你将不得不对uic和rcc做同样的事情。