G++ -I option for compiling program

20,837
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
Share:
20,837
MaiTiano
Author by

MaiTiano

Music tech engineer.

Updated on July 17, 2022

Comments

  • MaiTiano
    MaiTiano almost 2 years

    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