【发布时间】: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++