Qt包括另一个项目的类(无法打开包含文件:' foo.h')

时间:2014-08-28 09:23:12

标签: c++ qt include project

我刚开始使用Qt并且出现了一些问题。我确信它必须是一个简单的解决方案,但我找不到它。

我有两个项目,ProjectOne和ProjectTwo。我希望你在ProjectTwo的main.cpp中使用ProjectOne中的类foo。当我运行我的程序时,文件被复制/引用到ProjectTwo中,但是当我尝试在我的main.cpp(#include "foo.h")中包含foo时,我收到以下错误:


> main.cpp:3: error: C1083: Cannot open include file: 'foo.h':
> No such file or directory

这是我的结构:

-ProjectOne
    -ProjectOne.pro
    -Headers
        -foo.h
    -Source
        -foo.cpp
    -Other files
        -ProjectOne.pri
-ProjectTwo
    -ProjectTwo.pro
    -ProjectOne
        -ProjectOne.pri
        -Headers
            -foo.h
        -Sources
            -foo.cpp
    -Sources
        main.cpp

这是我在.pro和.pri文件上编辑的内容

**ProjectOne.pri**
INCLUDEPATH  += $$PWD
SOURCES      += $$PWD/foo.cpp
HEADERS      += $$PWD/foo.h

**ProjectTwo.pro:**
include(../ProjectOne/ProjectOne.pri)
QT += core
SOURCES += foo.cpp
HEADERS += foo.h

我在Windows 7上使用Qt Creator 3.1.2。我的编程语言是C ++,我正在使用VisualStudio 10 Express进行编译。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

当包含不直接在您的项目文件夹中的文件时,您需要将其包含在完整路径或相对路径中。

#include "bar/foo.h"

#include "../../bar/foo.h"