这是一个小问题,我这样的Linux程序新手无法解决。

现在我有一个需要编译的main.cpp程序,有一个

#include "Down.h"

在文件的前面。

实际上,此头文件存在于另一个目录中,该目录位于 <代码> ../../../包括 目录。此外,Down.h所需的一些其他头文件也位于此../../../include目录。

这是问题所在,我用命令

编译main.cpp
g++ -I /../../../include main.cpp

然而,它提供了大量的错误信息,这意味着这样做是不正确的。

我是否还应该将include声明更改为此声明?

#include "../../../include/DownConvert.h"

请你给我一些建议吗?感谢。

编辑:

使用 g ++ -I ../../../include main.cpp 后,我收到以下错误:

$ g++ -I ../../../include main.cpp 

In file included from ../../../include/DownConvert.h:98,
from main.cpp:92: ../../../include/ResizeParameters.h:4:22: error:
TypeDefs.h: No such file or directory 

In file included from /usr/include/c++/4.4/bits/stl_algo.h:61, 
from /usr/include/c++/4.4/algorithm:62, 
from ../../../include/H2 
有帮助吗?

解决方案

g++ -I /../../../include main.cpp

-I 之后看到前导斜杠?那是一条绝对的道路。
将其更改为相对路径(如下所示),它将正常工作。

g++ -I ../../../include main.cpp

其他提示

g ++ -I ../../../include main.cpp

应该工作

尝试使用-v选项:

g++ -v -I ../../../include main.cpp

并检查搜索包含文件的目录列表是否包含您的文件夹,并且没有抱怨此文件夹不存在。如果有这种抱怨纠正了你在-I

之后给出的路径
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top