G++ -I option for compiling program

2019-06-26 09:24发布

Here is a little problem that cannot be resolved by me such a Linux program newbie.

Now I have a main.cpp program which need to be compiled, there is a

#include "Down.h"

in the front of file.

Actually, this header file exist in the other directory, which locates at ../../../include directory. Besides, some other header files needed by Down.h also locate at this ../../../include directory.

Here is the problem, I compile main.cpp with command

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

However, it gives lots of error info which means it is not correct to be done like this.

Should I also change the include declaration into this one?

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

May you please leave me with some advice? Thanks.

Edit:

After using g++ -I ../../../include main.cpp, I get the following errors:

$ 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 

3条回答
我只想做你的唯一
2楼-- · 2019-06-26 09:55
g++ -I /../../../include main.cpp

See that leading slash after the -I? That's an absolute path.
Change it to a relative path (shown below) and it'll work OK.

g++ -I ../../../include main.cpp
查看更多
手持菜刀,她持情操
3楼-- · 2019-06-26 10:02

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

ought to work

查看更多
地球回转人心会变
4楼-- · 2019-06-26 10:03

Try to use -v option:

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

And check that list of directories to search for include files contains your folder and there is no complains that this folder is absent. If there is this sort of complains correct the path that you give after -I

查看更多
登录 后发表回答