【发布时间】:2009-07-21 22:34:47
【问题描述】:
我有一个运行良好的动态库,我想在其中使用 QObject。包含“qobject.h”标头后,我编译一切都很好。但是当我尝试声明一个 QObject 时,编译器总是给我一个“找不到标识符”的错误。我尝试对 QObject 类进行声明,但没有帮助。这很奇怪,因为当我在我的 dll 中使用 Qt 时,visual studio 的智能感知正在工作(例如:当我声明一个 QObject 时,visual sdio 向我显示了我的 QObject 可用的函数)。在动态库中使用 Qt 有什么特别需要做的吗?既然我使用的是 QObject,我是否必须使用 qmake 编译它?
感谢您的帮助
戴夫
编辑:问题似乎只在我包含 stdafx.h 后出现。如果我尝试在 Stdafx.h 之后包含 Qt 标头,我的库将无法编译,从而出现语法错误。如果我在包含 Stdafx.h 之前使用 Qt 引用,它可以编译并运行良好,但它有点没用,因为我无法在现有代码中使用 Qt 引用。
1>c:\users\dave\documents\visual studio 2008\projects\frogger\froggerdll\ftclient.cpp(47) : error C2653: 'QWidget' : is not a class or namespace name
1>c:\users\dave\documents\visual studio 2008\projects\frogger\froggerdll\ftclient.cpp(47) : error C3861: 'find': identifier not found
有问题的行是 QWidget::find(hwnd); 我包括 QWidget
【问题讨论】:
标签: qt dynamic visual-c++