【问题标题】:C++ Referencing files in other Projects其他项目中的 C++ 引用文件
【发布时间】:2017-08-18 00:49:26
【问题描述】:

我想知道如何在 C++ 中引用另一个项目中的文件。

例如,我已将 avocado.h 从我的蔬菜项目移至水果项目。在fruit.cpp中,我试图包含avocado.h,但编译器找不到avocado.h

Original recipie.cpp:
    #include "avocado.h" //error c1083: Cannot open included file: 'avocado.h':No such file or directory

我现有的解决方案是使用命名空间,但我想知道以某种方式告诉#include 确切的位置是否会更有效?

Current recipie.cpp:
namespace fruit {
    class avocado;
}

编辑 - 抱歉,我应该提到我正在一个解决方案(或库)中工作,其中水果和蔬菜项目都在同一个解决方案下。

【问题讨论】:

  • 如果您想创建两个或多个共享文件的项目,请考虑创建一个项目可以使用的库。
  • 有一些方法可以设置包含目录(取决于您的编译器),这些目录是编译器查找头文件的目录。此外,您可以使用相对路径,例如 #include "../Vegetable/avocado.h"
  • @nwp 有没有办法使用绝对路径?
  • 编译器将有标志告诉它在哪里寻找头文件。就像GCC 这样做g++ -I/path/to/header/dir ...
  • 显然是you can use absolute paths,但这是一个非常糟糕的主意,因为它将项目锁定为基本上只能在您的计算机上运行。

标签: c++ visual-c++


【解决方案1】:

由于您已将标头从一个项目移动到另一个项目,您可能也应该将其物理移动到与recipie.cpp 相同的目录中。或者,您可以更改 Fruit 项目属性:Configuration Properties \ VC++ Directories \ Include Directories 以包含 avocado.h 的路径

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多