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

C++ 另一个项目的Qt include类(无法打开包含文件:';foo.h';),c++,qt,include,project,C++,Qt,Include,Project,我刚开始学习Qt,出现了一些问题。我相信这一定是一个简单的解决方案,但我就是找不到 我有两个项目,项目一和项目二。我希望您在ProjectTwo的main.cpp中使用ProjectOne中的foo类。当我运行程序时,文件被复制/引用到ProjectTwo中,但当我尝试在main.cpp中包含foo(#include“foo.h”)时,我收到以下错误: 这是我的结构: -ProjectOne -ProjectOne.pro -Headers -foo.h

我刚开始学习Qt,出现了一些问题。我相信这一定是一个简单的解决方案,但我就是找不到

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



这是我的结构:

-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

我在Windows7上使用QtCreator3.1.2。我的编程语言是C++,我用VisualStudio 10 Express编写。
非常感谢您的帮助

当包含不直接在项目文件夹中的文件时,需要使用完整路径或相对路径包含该文件

i、 e


你能告诉我你在你的主目录中包含foo.h的那一行吗?谢谢你的回复!行是:
#include“foo.h”
看起来您的编译器不知道在哪里可以找到foo.h。参见我的回答我将main.cpp中的Include语句更改为
#Include“./ProjectOne/foo.h”
,它成功了!非常感谢你!我希望你不介意我问:我还需要添加LIB吗?因为现在我得到一个未解决的外部符号错误..很抱歉,没有更多的代码我看不到问题。也许这可以帮助你@oemay,是的,你必须添加lib。只需将LIBS+=-L“path\u添加到不带名称的\u-libu中”—L[libname],即可修改.pro文件
**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
#include "bar/foo.h"
#include "../../bar/foo.h"