题
这是一个小问题,我这样的Linux程序新手无法解决。
现在我有一个需要编译的main.cpp程序,有一个
#include "Down.h"
在文件的前面。
实际上,此头文件存在于另一个目录中,该目录位于 <代码> ../../../包括代码> 目录。此外,Down.h所需的一些其他头文件也位于此../../../include目录。
这是问题所在,我用命令
编译main.cppg++ -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
之后给出的路径不隶属于 StackOverflow