【发布时间】:2013-07-26 16:45:14
【问题描述】:
我有一个 QT 项目,最初是为 UI 和为网络创建服务器而设计的。但是,现在我只需要它的网络部分与另一个 UI 实现集成。
我剥离了文件和主要功能并将项目编译为库。一切顺利。
但是,当我尝试将这个项目中的头文件包含到另一个项目中时,我会收到类似这样的编译时错误(对于从 QT 项目中调用头文件的项目):
fatal error C1083: Cannot open include file: 'QObject': No such file or directory
这两个项目都是同一个 VS2008 解决方案的一部分。我想我遗漏了一些东西,但我不能动手……请帮忙,谢谢!
【问题讨论】:
-
编译的项目在其文件中使用 Qt 头文件的相对路径,另一个项目与编译的项目位于不同的目录中?
-
路径不是相对的。它包括使用
#include <QObject>等,并且这个项目编译成一个.lib 文件。我想知道我是否还必须为其他项目设置所有 QT 路径(包括包含和 dll,或者只是 dll,或者...)? -
好吧,那么编译的项目似乎将 Qt 头文件的路径添加到其路径变量中。第二个项目没有。
-
我试图提供路径,虽然上面的错误消失了,但我遇到了这样的新错误:
c:\qt\qt4.7.3\include\qtcore\../../src/corelib/global/qnamespace.h(1256) : error C2332: 'enum' : missing tag name... 然而,我无法理解的是,因为第一个项目已经编译到 .lib 为什么该项目中的文件会导致错误? -
似乎我在这里缺少一些 Visual Studio 的基本知识......
标签: c++ visual-studio-2008 qt4.7