我有一个工作正常的动态库,并且我想在其中使用QObject。在包含“qobject.h”头文件后,我编译并添加了evrything。但是当我尝试声明一个QObject时,编译器总是给我一个“找不到标识符”的错误。我尝试过QObject类的炫耀,它没有帮助。这很奇怪,因为当我在我的dll中使用Qt时,visual studio的intellisense正在工作(例如:当我声明一个QObject时,visual sdio显示我可用于QObject的函数)。在动态库中使用Qt有什么特别之处吗?我现在需要使用QObject来编译它吗?在动态库中链接Qt
感谢您的帮助
戴夫
编辑:问题似乎只出现后我包括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的::找到(HWND); 和我包括QWidget
好吧,我可以绕过它,通过包括他们在正确的顺序,但然后我不能使用QObject,所以它不能真正解决我的问题。我会尝试安装整合。有什么特别的步骤需要采取,还是应该在那之后编译好? – 2009-07-18 17:46:14